1. JDK1.7
- 二进制字面量表示,如:
0b110 - 数值字面量可用下划线分隔,如:
100_000 switch语句可以用字符串- 菱形泛型
- 可以合并多个
catch的异常,多个异常之间使用|隔开 try-with-resources语句,可在使用完后自动关闭流
2. JDK1.8
- 方法引用,增加
Streams相关方法 - 新的
Data与Time相关类 - 接口中的方法可以有方法体;若为非静态方法须使用
default修饰 - 自动为局部内部类使用的局部变量加
final修饰;final修饰后变量会存放在常量池,改变了生命周期 - HashMap数据结构变化:数组链表 -> 数组链表或红黑树
3. JDK9
- 增加
java shell - 接口方法可用使用
private修饰 - 新增ProcessHandle类,提供进程的本地进程ID、启动时间、累计CPU时间等方法
- Collections增加工厂方法
4.JDK11
java命令可直接运行java文件,不用javac- 内置标准化
HTTP Client - 增加支持
TLS 1.3
5.JDK14
- 增加
record类
6.JDK17
- 正式加入密封类