早些时候Oracle发布了Java 10,这是Oracle更改发布策略之后的第一版Java,Oracle现已决定每六个月发布一个新的Java版本,周期缩短了,但是并不是说我们要学的更多了,而是说缩短开发周期后,有助于更快修复bug,并提前放出新功能,因为时间短所以新功能并不是很多。本次更新主要有:局部变量类型推断,G1并行完全垃圾回收,以及测试版的Java-Based JIT编译器。更新详情如下:
局部变量类型推断:在Java 8 lambda表达式的类型推断基础上,Java 10现已可以对本地变量类型进行推断。
G1并行完全垃圾回收:提升了对G1进行完全垃圾回收时的最坏情况的延迟水平。
应用类数据共享:通过扩展现有的类数据共享(Class-Data Sharing, CDS)功能,使其允许class存放在共享归档中,以此来优化启动速度和减少开销。
测试版的Java-Based JIT编译器:在Linux 64位环境下启用了Java-Based JIT编译器Graal。Graal是一个通用虚拟机,可以运行用JavaScript,Python, Ruby, R以及JVM语言Java, Scala, Cloujure, Kotlin编程语言编写的应用程序,还可运行基于LLVM的编程语言所写的程序,例如C和C++,而且能提供更快的速度。
垃圾回收接口:为了使不同垃圾回收器的源代码更好的分离,引入了新的简洁的垃圾回收器接口。它可以使HotSpot内部垃圾回收代码更加模块化,新增垃圾回收器实现时不影响已有的垃圾回收器代码,能够排队某个垃圾回收器的实现。
本地线程握手:执行线程回调函数时不再执行全局VM还原,让关闭单个线程变得可能且减少开销。
新增Unicode语言标签扩展:增强了java.util.Locale和其相关的API来实现BCP 47 Unicode扩展。
允许在其他内存设备上进行堆分配:例如可以使用NV-DIMM内存设备。
根证书:提供了一组默认的根证书授权中心(CA)。
基于时间的发布版本:修定了Java SE平台和JDK的版本字符串模式。
合并JDK森林到单一仓库:把分散的JDK仓库统一到了一个仓库中,简化了JDK的开发流程。
以上就是Java 10的更新内容了,我觉得Java更新速度加快是个好事,可以更快接触新功能了,你们觉得呢?