JVM
JVM 主要流程图 Java源码编译由以下三个过程组成: 分析和输入到符号表 注解处理 语义分析和生成class文件 编译时期-语法糖 语法糖可以看做是编译器实现的一些“小把戏”,这些“小把戏”可能使得效率大大提升 其中最值得说的就是泛型了,这个语法糖可以说被我们经常使用的 泛型只会在Java源码中存在,编译过后会被替换为原来的原生类型(Row Type,也称为裸类型)。这个过程叫做:泛型擦除 有了泛型这个语法糖后 代码更加简洁【不用强制类型转换】 程序更加强壮【只要编译时期没有警告,那么运行时期就不会出现ClassCastException】 可读性和稳定性【在编写集合的时候,就限定了类型】 JVM实现跨平台 至此,我们通过javac.exe编译器来编译我们的.java文件生成出.class文件 这些.class文件很明显是不能直接运行的,它不像C语音(编译cpp后生成exe文件直接运行) 这些.class文件是交由JVM来解析运行的 JVM是运行在操作系统之上的,每个操作系统的指令是不同,而JDK是区分操作系统的,只要你的本地系统装了JDK,这个JDK就是能够和当前系统兼容的。(jdk是区分平台的,class文件会被翻译成不同的平台的机器编码) class字节码运行在JVM之上,所以不用关系class字节码是在哪个操作系统编译的,只要符合JVM规范,那么