首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java JDK 10:下一代 Java 有哪些新特性?

关键时刻,第一时间送达!

工欲善其事,必先利其器。作为老牌军 Java 在发行二十多年的今天,战胜了 C 和 C++,成为诸多开发者的宠儿,且如今从其更新速度来看,也是不甘落后。

今年的 9 月 21 日,大家期待已久的

Java 9

正式发布,现在开发者即将在几个月后就可以使用下一代 Java —— Java 10。十二月中旬,计划中的 Java 10 开发工具包升级节奏已经逐渐放缓。所以在目前阶段,产品升级后只能修复 P1 到 P3 的错误(https://www.infoworld.com/article/3183502/java/oracle-sets-priorities-for-java-9-bug-fixes.html)。

JDK 10 何时发布?

JDK 10 是 Java 10 标准版的部分实现,将于 2018 年 3 月 20 日发布,改进的关键点包括一个本地类型推断、一个垃圾回收的“干净”接口。

Oracle 已经为 Java 设定了六个月的发行计划。之前本打算根据发行的年份和月份命名升级版和后续版,这样的话第一个版本就会被称为 Java 18.3, 但这个计划后来被中止了。

如何下载 JDK 10?

JDK 10 的新改进有哪些?

JDK 10 的主要功能包括:

一个局部变量类型推断,通过增强语言特性将类型推断扩展到局部变量,目的是减少与编码相关的“仪式”,同时保持对静态类型的安全承诺。

一个干净的垃圾收集器接口,用来改善垃圾收集器源代码之间的隔离效果,这样可以为HotSpot 虚拟机中的内部垃圾收集代码提供更好的模块化功能,也可以更容易向 HotSpot 添加新的垃圾收集器。

并行、完整的 G1 垃圾收集器,通过实现并行性来改善最坏情况下的延迟问题。

启用 HotSpot 将对象堆分配给用户指定的备用内存设备(如 NVDIMM 内存模块),这个特性也侧面预示了未来的系统可能会采用异构的内存架构。

在 Linux / x64 平台上以实验性方式启用基于 Java 的即时编译器(https://www.infoworld.com/article/3187868/application-development/oracles-java-on-java-experiment-picks-up-steam.html)。

将 JDK 的多个存储库合并成一个,简化开发。目前的代码库被分解成了多个库,容易出现源代码的管理问题。

应用程序数据共享,通过跨进程共享通用类的元数据,减少空间占用及启动时长。

线程本地握手,不执行全局 VM 安全点也能对线程执行回调,同时实现单线程停止回调。

JDK 提供了一组默认证书,开源 Java SE 的 CA程序,对开发人员更具吸引力。

JDK 10 的开发包括哪些阶段?

目前,Oracle 的 Java SE 下载页面(http://www.oracle.com/technetwork/java/javase/downloads/index.html)还没有提供对 JDK 10 的访问,因为在最终版本确认之前,JDK 10 还有一些其他的开发阶段,包括:

2018 年 1 月 11 日:在所有支持的平台上,对所有计划完成至少一次的测试。

2018 年 1 月 18 日:减速阶段,只修复“ showstopper ”的 Bug。

2018 年 2 月 22 日:最终版本确认。

从 9 月 21 日期待已久的 JDK 9 版本发布开始,Oracle 就一直在计划 Java 的改进和升级,包括将于 2018 年 3 月到期的 Java 18.3 版本,这个版本将作为 Java 标准版的发布计划一部分。

Java 的长期路线图

以下是 Oracle 公司正在考虑的下一代产品、以及更高版本的 Java SE:

Amber 项目(https://www.infoworld.com/article/3187868/application-development/oracles-java-on-java-experiment-picks-up-steam.html)是面向生产力的语言特征孵化器,包括局部变量类型推断在内的各种较小的语言,目标是减少编写 Java 代码的相关程序、通过增强枚举使类型变量的常量执行更为清晰、提高 Lambda 方法的可用性。

Panama 项目(https://www.infoworld.com/article/2607953/java/article.html),将 JVM 和本地代码互连,具有来自 JVM 的本地函数调用和来自 JVM 的本地数据访问等功能。

Valhalla 项目(https://www.infoworld.com/article/2608087/java/java-incubator-to-explore-technologies-for-java-10-and-beyond.html)是高级 Java 虚拟机和语言特性孵化器。

Loom 项目(http://cr.openjdk.java.net/~rpressler/loom/Loom-Proposal.html),以降低编写并发应用程序的复杂性为目标,项目要求添加可选的用户模式线程实现、定界延续以及涉及调用堆栈操作的其他构造。通过提供一个由 Java 编写的调度器,替代实现线程的管理,这样子普通 Java 线程的 Java 编程模型就可以被保留下来,提高了性能,减少了占用空间。

新的六月发行计划推出后,也就意味着不同版本的功能更新会间隔六个月。但是目前除了已经宣布的 JDK 10 之外,Oracle 还没有承诺在 Java 中提供其他新的功能。

对于明年即将推出的 Java 10,在JDK 10 早期试用版发布后(https://www.oschina.net/news/90271/jdk-10),网络上观点不一:

@一刀:厉害了,悄无声息的就发布了 JDK10。

@WO不吹牛:9 还没开始用,10 又悄悄的来了,这速度太 6 了。

@半个克林姆:不觉明历, 对于我这种菜鸡来说, 好像并没有什么影响!

@cky_Me:公司基本上用的还是1.6,1.7。

@东东-:快加上真泛型,删掉那堆没用的祖传模块。

......

那么你期待明年的Java 10 吗?

原文:Java JDK 10: What new features to expect in the next Java

链接:https://www.infoworld.com/article/3230507/java/java-jdk-10-what-new-features-to-expect-in-the-next-java.html

作者:Paul Krill

翻译:言则

责编:苏宓

————— END —————

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20171220A0N1UI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券