jdk8,jdk10,jdk12新特性

本文介绍了JDK8、10、12的新特性。JDK8有接口扩展方法、Lambda表达式等;JDK10包含局部变量类型推断、线程本地握手等;JDK12新增Shenandoah GC算法、扩展switch语句等,这些特性提升了Java的功能和性能。

jdk8:

1.Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法
2. Lambda 表达式:(例如: (x, y) -> { return x + y; } ;λ表达式有三部分组成:参数列表,箭头(->),以及一个表达式或语句块。)
3. hashmap和currenthashmap的红黑树以及cas

jdk10:

1.局部变量类型推断:var
2. 线程本地握手
JDK 10将引入一种在线程上执行回调的新方法,因此这将会很方便能停止单个线程而不是停止全部线程或者一个都不停。
3. 备用内存设备上的堆分配
允许HotSpot VM在备用内存设备上分配Java对象堆内存,该内存设备将由用户指定。
5. 其他Unicode语言 - 标记扩展
目标是增强java.util.Locale及其相关的API,以便实现语言标记语法的其他Unicode扩展(BCP 47)。
6. 基于Java的实验性JIT编译器
Oracle希望将其Java JIT编译器Graal用作Linux / x64平台上的实验性JIT编译器。
7. 根证书
这个的目标是在Oracle的Java SE中开源根证书。
8. 根证书颁发认证
这将使OpenJDK对开发人员更具吸引力,它还旨在减少OpenJDK和Oracle JDK构建之间的差异。
9. 将JDK生态整合单个存储库
此JEP的主要目标是执行一些内存管理,并将JDK生态的众多存储库组合到一个存储库中。
10. 删除工具javah
从JDK中移除了javah工具,这个很简单并且很重要。

jdk12:

1.新增了一个名为 Shenandoah 的 GC 算法,通过与正在运行的 Java 线程同时进行 evacuation 工作来减少 GC 暂停时间。
2.扩展了 switch 语句,使其不仅可以作为语句,还可以作为表达式
3.针对 64 位平台,使用默认类列表增强 JDK 构建过程以生成类数据共享档。
4.如果 G1 Mixed GC 存在超出暂停目标的可能性,则使其可中止。
5.增强 G1 GC,在空闲时自动将 Java 堆内存返回给操作系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值