讲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>]
|
|