您的位置:首页 > 编程语言 > Java开发

Java10新特性

2018-03-22 17:15 232 查看
在jdk10和之后的版本将会对Docker化的应用有更好的支持。
Jdk10在2018年3月20号正式发布,在本地变量和垃圾回收上面进行了一系列的提升。Jdk10是一个短期存在的版本, 正式的公共版本更新会在六月底进行发布,九月份即将发布的Jdk11,将是一个比较长期稳定的LTS版本,LTS版本更新的周期大概是三年一次。甲骨文会在六月正式完成此版本的更新,最初打算这个版本的名字叫Jdk18.3,但是这个提议被反对了。可以从这些地方下载jdk10 
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Jdk10新特性 
1.本地变量类型推断,可以使用本地变量的初始化去推荐对应变量的类型。 
2.提升了并行垃圾收集器G1的性能,降低了收集延时。 
3.应用优化了启动时刻的数据共享,已经存在的类更好的共享。 
4.一个试用的即时编译器Grral,只支持linux x64平台 
5.能够感知到docker的存在,如果运行在linux平台,可以感知到是否运行在 docker容器中,可以查询到操作系统给容器分配的cpu和内存等等物理资源信息. 
6.修复从主机Java线程连接到容器内Java线程的一个问题。 
7.更短的jShell REPL tool启动时间. 
8.提供了新接口,可以获取可变化的集合类,copyOf,Set.copyOf, 和Map.copyOf等方法创建一个新的集合对象,toUnmodifiableList, toUnmodifiableSet, 和toUnmodifiableMap获取不可修改对象,让Stream操作可以获取到不可变对象。 
9.本地变量类型推断。可以减少类型的生命,同时也保证了static类型的安全性。 
10.提供一个垃圾收集的接口去提供各个垃圾收集器隔离的能力,这样可以让内置的垃圾收集器正常运行,同时可以更容易向hotspot添加新的垃圾收集器。 
11.改进的并行的垃圾收集器G1,可以有效降低延迟。 
12.让hotspot支持寻找可用的任何内存,例如 NVDIMM存储模块,用户可以去指定它,这也是为未来的异构内存提供支持。 
13.在Linux/x64平台提供一个实验性的即时编译器。 
14.让jdk使用单一仓库管理,现在分离在不同的仓库,这样给源码管理带来了一些困难。 
15.提升了内存的共享,减少了应用的启动时间。 
16.本地线程握手,可以在虚拟机的全局安全点暂停而不用等待其他的任何线程。 
17.为openJDK提供Oracle根认证,这样可以吸引更多的开发者使用openJDK。
长期Java路线图 
甲骨文提到了下面一些改进: 
1.更加灵活,效率更高的类型推断,提升枚举构造性能,优化lambda引用的使用。 
2.Project Panama 去修复完善一些Jvm调用的本地代码。 
3.Valhalla优化Java的语言特性和范型指定等等优化。 
4.Project Loom,降低并发应用的复杂性, 
随着六月版本的发布,在下个版本出来之前,除去上面提到的可能还有新的特性被应用在java上。
原文:https://www.infoworld.com/article/3230507/java/java-jdk-10-what-new-features-to-expect-in-the-next-java.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: