黑马程序员技术交流社区

标题: 初识JVM [打印本页]

作者: 沉湎码海    时间: 2017-2-16 21:22
标题: 初识JVM
讲01-初识JVM


1.

        JDK 1.5  开始了:  泛型   注解   装箱  、枚举  、可变长参数  ForEach
       
       
2. 2014 JDK 8 提出了Lambda


3.2016 JDK9 模块化


4.使用最为广泛的JVM为HotSpot


5.java广泛应用到Android中,KVM


6.IBM  J9VM  


7.Java语言规范

                :  语法 变量  类型                文法
               
               
8.JVM规范:

                -  Class 文件类型
               
                - 运行时数据
               
                -栈帧
               
                -虚拟机启动
               
                -虚拟机的指令集
               
9.Java语法定义:

                if(expression)  statement
               
        -参数列表
               
                argument
               
                或  argumentList  , argument
10.java 的词法结构

                -注释
                -标识符
                -关键字
               
               
11.Java内存模型
   类加载链接的过程

   public static final abstract  的定义

   异常

12.Java语言和JVM相对独立


13.JVM主要定义二进制class问价和JVM指令集等
       
        class文件格式,
        数字的内部表示和存储  例如:  Byte  -128 to  127
       
    returnAdress 数据类型定义: 指向操作码的指针。
       
       
        定义PC   堆  栈   方法区
       
       
14.整数的表达

        -原码
        -反码
        -补码
       
15.VM指令集


16.JVM需要对Java  library提供一下支持:

                没有办法通过Java语言本身来实现,所以Java需要对这些机制提供支持
               
                -反射 Java.lang.reflect  //反射机制它需要JVM在底层做一个实现

                -ClassLoader  
                -初始化class和interface
               
                -安全相关 java.security
               
                -多线程
               
                -弱引用
               
        以上这些机制,都是需要在JVM层面上作支持的。
       
       
       
               
17.JVM的编译

        -源码到JVM指令的对应格式
       
        -Javap  //反汇编工具
       
        -JVM反汇编的格式:
       
                <index> <opcode> [<operand1>[<operand2>...]] [<comment>]
               
               



作者: IceLoveInFire丶    时间: 2017-2-17 00:05
JVM是一门很深的学问





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2