写点什么

Java 10 发布了第一个候选版本,新特性一览

  • 2018-03-05
  • 本文字数:1473 字

    阅读完需:约 5 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

近日,期待已久、没有跳票的 JDK 10 发布了其第一个候选版本,官方表示第二个候选版本将在 3 月份发布。JDK 10 是 Java SE 10 的实现,将在 2018 年 3 月 20 号发布正式版本。其关键改进包括局部类型推断和整洁的垃圾回收接口。在同意加入早期采用者计划后,用户可以在官网下载体验 ( http://jdk.java.net/10/)。

之前聊聊架构有报道过,新的一年,Java 为了更快地迭代,以及跟进社区反馈,已经将版本发布周期变更为每六个月一次,并且承诺不会跳票。

JDK 10 中的关键特性包括:

  • 局部变量类型推断,用于增强语言以将类型推断扩展到局部变量。其目的是减少与编码相关的“形式”,同时保持静态类型安全。
  • 一个整洁的垃圾回收接口,提升不同垃圾回收器的源代码隔离。这样做是为了更好地模块化 HotSpot 虚拟机中的内部垃圾回收代码,使向 HotSpot 添加新的垃圾回收器更加容易。
  • G1 垃圾回收器的并行完整垃圾回收。其目的是通过实现并行性来改善最坏情况下的延迟。
  • 使 HotSpot 能将对象堆分配给用户指定的备用内存设备(例如 NVDIMM 内存模块)。该功能预示着,未来的系统可能具有异构的内存架构。
  • 使 Grall 基于 Java 的及时编译器能实验性用于 Linux/x64 平台。
  • 将众多 JDK 仓库合并到一个仓库中,以简化开发。直到现在,代码库一直分解为多个仓库,导致源代码管理问题。
  • 应用程序类数据共享,通过跨进程共享通用类元数据来减少占用空间。启动时间也得到了改善。
  • 线程本地握手,在不执行全局 VM 安全点的情况下对线程执行回调。可以停止单个线程,而不是停全部线程或一个不停。
  • 在 JDK 中提供一组默认的根证书颁发机构证书。目标是开源 Oracle 的 Java SE Root CA 程序中的根证书,以使 OpenJDK 对开发人员更具吸引力。

Oracle 的 Java SE 下载页面尚没有 JDK 10。但是,在最终版本发布之前,JDK 10 的开发还有其他阶段。这些包括:

  • 2018 年 1 月 11 号:在所有支持的平台上至少完成一次所有计划的测试。
  • 2018 年 1 月 18 号:进行第二季度,只修复致命缺陷。
  • 2018 年 2 月 22 号:最终候选发布版。

长期 Java 路线图

以下是 Oracle 说后续 Java SE 版本要考虑的新特性:

  • Amber 项目是一个孵化器,针对较小的、生产力导向的语言特性,包括:局部变量类型推断,减少 Java 代码的形式;增强枚举,通过在枚举中允许类型变量和对枚举常量执行更为清晰的类型检查来提高 enum 构造的表现力;lambda leftover,提高 lambda 和方法引用的可用性。
  • Panama 项目互连 JVM 和本地代码,主要是 JVM 本地函数调用和 JVM 本地数据访问。
  • Valhalla 是高级 Java 虚拟机和语言特性候选项的孵化器项目,包括值类型和泛型具体化。
  • Loom 项目旨在减少编写并发应用程序的复杂性。它要求添加替代的用户模式线程实现、定界延续(delimited continuation)以及涉及调用堆栈操作的其他构造。这个提议的主要目标是提供线程的替代实现,由用 Java 编写的调度器管理。普通 Java 线程编程模型将被保留下来,而性能将得到改善并且占用空间减少。

根据这个新的六个月发布时间表,错过这次发布的功能可能会延迟六个月在下一个发行版发布。除了针对 JDK 10 宣布的内容外,Oracle 还没有承诺何时兑现任何新提出的特性。

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

感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-03-05 18:005460
用户头像

发布了 33 篇内容, 共 12.7 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

秀一波多线程的操作技巧,又能Get新知识点了

android 程序员 移动开发

程序员毕业十年,我是如何从月薪2800涨到税后年薪30W+的?

android 程序员 移动开发

程序员的专属幽默段子

android 程序员 移动开发

程序员的中年危机该怎么度过,只能靠纯技术?

android 程序员 移动开发

程序员这样准备面试,拿到Offer的概率准会上升。

android 程序员 移动开发

简单易用!快速改善用户界面的10个技巧!

android 程序员 移动开发

简易弹球游戏 (2)(1)

android 程序员 移动开发

神奇宝贝 眼前一亮的 Jetpack + MVVM 极简实战

android 程序员 移动开发

程序员与架构师之间的差距很大吗?

android 程序员 移动开发

第五章:paging使用

android 程序员 移动开发

模块八作业

Geek_fc100d

「架构实战营」

简易弹球游戏 (2)

android 程序员 移动开发

盘点2020年Android面试必备知识点

android 程序员 移动开发

瞬息万变的技术圈与焦虑的技术人,进阶Android需要掌握的那几个关键技术!

android 程序员 移动开发

站在巨人肩上操作CAS(三):原子操作类的正确使用实战

android 程序员 移动开发

第一次面大厂就拿到了腾讯的 offer ,同事笑着骂我是搞 Android 的“狗托”

android 程序员 移动开发

算法太TM重要了!刷完这些题,我拿到了梦寐以求的字节跳动和腾讯双offer!

android 程序员 移动开发

程序员非要去大一线城市不可吗?小三线的我有话说

android 程序员 移动开发

站在巨人肩上操作CAS(一):CAS的原理

android 程序员 移动开发

什么是碳交易?

石云升

碳中和 11月日更 碳交易

Vue进阶(幺陆捌):应用 vw/vh 实现自定义布局

No Silver Bullet

Vue 11月日更

移动-App-已经趋近饱和,那么-Android-开发凉了吗?

android 程序员 移动开发

《Kubernetes in action读书笔记》:运维架构演进

后台技术汇

Kubernetes 11月日更 运维架构

程序员的中年危机,这道坎到底是什么?

android 程序员 移动开发

程序员还不会这6个面试技巧,活该你拿不到offer和高薪?

android 程序员 移动开发

算法----字符串

android 程序员 移动开发

约束布局(ConstraintLayout)1

android 程序员 移动开发

直播App中Android酷炫礼物动画实现方案(下篇):SVGA由来与Lottie的对比

android 程序员 移动开发

ThreadPoolExecutor 线程销毁源码分析

new life

ThreadPoolExecutor

程序员中年危机:该如何打破35岁的魔咒优雅度过中年?

android 程序员 移动开发

程序员真的有35岁危机这样的年龄危机吗?有些程序员是如何悄无声息渡过中年危机的?

android 程序员 移动开发

Java 10发布了第一个候选版本,新特性一览_语言 & 开发_Paul Krill_InfoQ精选文章