JDK9
modularity System 模块化系统
Linking
JShell : 交互式 Java REPL
不可变集合工厂方法
List.of()
Set.of()
Map.of()
Map.ofEntries()
UnsupportedOperationException
私有接口方法
HTML5风格的Javadoc
多版本兼容 JAR
垃圾收集机制
I/O 流新特性
JDK6
Desktop类和SystemTray类
使用JAXB2来实现对象与XML之间的映射
StAX
Compiler API
轻量级Http Server API
插入式注解处理API(Pluggable Annotation Processing API)
用Console开发控制台程序
对脚本语言的支持如: ruby, groovy, javascript
Common Annotations
JDK7
switch可以使用String类型
泛型自动判断类型
”<>”的运用List tempList = new ArrayList<>();
新增一些取环境信息的工具方法
System.get*()
Boolean类型反转,空指针安全,参与位运算
Booleans.*()
两个char间的equals
boolean Character.equalsIgnoreCase(char ch1, char ch2)
对Java集合(Collections)的增强支持
支持[]、{}的形式存入对象,
支持[]的形式按照索引、键值来获取集合中的对象
数值可加下划线
int one_million = 1_000_000;
支持二进制文字字面量
int binary = 0b1001_1001;
简化了可变参数方法的调用
异常
捕获多异常
一个catch可以写多个异常类型,用”|”隔开
try-with-resource自动释放资源
异常处理增加了被抑制的异常
SuppressedException
应用了G1垃圾回收器
fork/join框架把任务细分并使用多处理器处理