最近连 JDK11都在准备发布的路上了,大家都整明白了吗?也许现在大部分人还在用6-8,8的新特性都没用熟,9刚出不久,10-11就不用说了。
为了大家对JDK有一个全面的了解,下面我为大家整理了JDK5~10的所有关键新特性!
JDK5新特性
- 自动装箱与拆箱
- 枚举
- 静态导入
- 可变参数(Varargs)
- 内省(introspector)
- 泛型(Generic)
- For-Each循环
JDK6新特性
- Desktop类和SystemTray类
- 使用JAXB2来实现对象与XML之间的映射
- 理解STAX
- 使用Compiler API
- 轻量级 Http Server API
- 插入式注解处理 API
- 使用Console开发控制台程序
- 对脚本语言的支持
- Common Annotations
- Java GUI界面的显示
- 嵌入式数据库Derby
- Web服务元数据
- Jtable的排序和过滤
- 更简单更强大的JAX-WS
JDK7新特性
- switch中可以使用字符串了
- 泛型实例化类型自动推断
- 自定义自动关闭类
- 新增一些读取环境信息的工具方法
- Boolean类型反转,空指针安全,参与位运算
- 两个char之间的equals
- 安全的加减乘除|sd
- 对Java集合( Collections)的增强支持
- 数值可加下划线
- 支持二进制数字
- 在try/catch异常扑捉中,一个catch可以写多个异常类型用|隔开
- 可以不必要写finally语句来关闭资源,只要你在try()的括号内部定义要使用的资源
JDK8新特性
- 接口的默认方法
- Lambda表达式
- 函数式接口
- 方法与构造函数引用
- 扩展了集合类
- 新的Date API
- Annotation多重注解
- streams(流)
- parallel streams(并行流)
- Map数据结构改进
JDK9新特性
- Jigsaw模块化项目
- 简化进程API
- 轻量级JSON API
- 钱和货币的API
- 改善锁竞争机制
- 代码分段缓存
- 智能java编译
- http2.0客户端
- kulla计划
JDK10新特性
- 局部变量的类型推断
- GC改进和内存管理
- 线程本地握手
- 备用内存设备上的堆分配
- 其他Unicode语言 - 标记扩展
- 基于Java的实验性JIT编译器
- 开源根证书
- 根证书颁发认证(CA)
- 将JDK生态整合单个存储库
- 删除工具javah
怎么样,这些新特性都知道多少?都用过多少?多学习这些新特性,对写代码的效率、逼格、技能成长、就业还是会很有帮助的。
本图来自Java技术栈微信公众号,扫描关注哦~~~