QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:005129
用户头像

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

关注

评论

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

第七周课后总结

饭桶

熟悉又陌生的 k8s 字段:SecurityContext

郭旭东

Kubernetes Kubernetes源码

饱受毕设摧残计算机系师兄,怒而分享纯净版SSM框架(附源码)

小Q

Java 学习 面试 开发 SSM框架

电子劳动合同来了 足不出户也能签约

CECBC

社会保险 电子合同

轻松使用TensorFlow进行数据增强

计算机与AI

tensorflow 学习 数据增强

鬼知道我经历了什么!全靠这份999页Java面试宝典,我刚拿到美团offer!

Java架构追梦

Java 程序员 架构 面试 美团

架构训练营-week7-学习总结-性能测试,操作系统,锁

于成龙

架构训练营

华为云专家私房课:视频传输技术选型的三大法宝

华为云开发者联盟

音视频 视频 传输

运筹帷幄之后,决胜千里之外!GitHub上标星75k+的《Java面试突击手册》助你拿到满意的offer。

Java架构之路

Java 程序员 架构 面试 编程语言

【原创】SpringBoot 这几种配置文件方式,你都用过吗?

田维常

springboot

如何快速构建Spring Boot基础项目?

田维常

spring Boot Starter

全国区块链信息服务备案超千个

CECBC

区块链 金融

【API进阶之路】API带来的微创新,打动投资人鼓励我创业

华为云开发者联盟

学习 视频 API

4年Java经验,去面试居然10分钟就结束了,现在面试为什么这么难?

Java架构之路

Java 程序员 架构 面试 编程语言

量化交易系统开发、自动对冲策略搭建

薇電13242772558

区块链

快速掌握并发编程---ArrayBlockingQueue 底层原理和实战 java

田维常

并发编程 LinkedBlockingQueue

JUC之 FutureTask 源码与工作原理分析

AI乔治

Java 编程 架构 jdk 线程

第六周学习技术选型2总结

三板斧

日常工作参数分析

hasWhere

第七周课后练习

饭桶

登陆!Let's Start Coding

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS

谈谈项目中主动full gc的一些问题

AI乔治

Java 编程 架构 JVM GC

Github标星35K+超火的Spring Boot实战项目,附超全教程文档

Java架构之路

Java 程序员 架构 面试 编程语言

华为云FusionInsight MRS:助力企业构建“一企一湖,一城一湖”

华为云开发者联盟

数据库 云原生 数据

美国大选观战感受:用区块链投票吧,少操点心

CECBC

区块链 投票机制

偷师Kubernetes源码,学会怎么用Go实现调度队列

网管

Kubernetes 并发编程 并发控制 Go 语言

中国程序员超5000万?一线城市IT岗位已开始饱和过剩?

Java架构师迁哥

如何降低young gc时间

AI乔治

Java 架构 GC GC算法

快速掌握并发编程---关于乐观锁、悲观锁、可重入锁

田维常

并发编程

JUC 之ThreadPoolExecutor实现原理分析

AI乔治

Java 架构 jdk 线程

架构师训练营 1 期 - 第六周 - 技术选型2

三板斧

极客大学架构师训练营

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