- 在编译器层面做的改进。如自动装箱,实际就是编译器在在程序中使用到包装对象的时候,自动插入了很多的Integer.valueOf()之类的代码;变长参数在编译之后就自动转化成了一个数组来完成参数的传递;泛型的信息则在编译阶段就擦除了(但是在元数据中还保存着),相应的地方被编译器自动插入了类型转换代码。
- 对Java Api的代码增强。jdk1.2的时候增加了collections集合类,jdk1.5的时候增加了concurrent线程类。
- 需要在字节码中进行支持的改动。如jdk1.7加入的语法特性:动态语言支持,就需要在虚拟机中新增一条invokedynamic字节码指令来实现相关的功能。
- 虚拟机内部的改动。
JDK每次升级的四大关键点
最新推荐文章于 2023-02-01 11:44:56 发布