写点什么

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

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

关注

评论

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

Spark 源码阅读 02:从 Spark-Submit 到 Driver 启动

程序员赤小豆

spark 技术 Spark 源码

苏宁精准测试方案探索和实践

薛飞

精准测试

技术调研,IDEA 插件怎么开发「脚手架、低代码可视化编排、接口生成测试」?

小傅哥

Java 小傅哥 低代码 IDEA 脚手架

架构实战营模块 6 作业

蔸蔸

架构实战营第一期--模块六作业

clay

架构实战营

电商系统微服务拆分-模块6

小牧ah

架构实战营

Rust从0到1-高级特性-类型进阶

rust 高级特性 类型 Types

Vue进阶(八十四):Computed 和 Watch 使用与区别

No Silver Bullet

Vue 8月日更

架构训练营 模块六

小卷儿

在线JSON转Schema工具

入门小站

【架构训练营】模块六作业

zclau

你知道 JavaScript 中的 Arguments 对象都有哪些用途吗?

编程三昧

JavaScript 大前端 函数 8月日更 Arguments

Spark 源码阅读 01:环境搭建

程序员赤小豆

spark 技术 Spark 源码

百度地图开发-在地图上实现路线导航 09

Andy阿辉

android Android 小菜鸟 Android端 8月日更

微信业务架构&学生系统管理系统设计

Geek_dae

架构实战营

如何找到靠谱的工长?

escray

生活记录 8月日更 装修记

架构训练营模块六作业

喻高咏        

架构实战营

模块六作业

Mr.He

架构实战营

Linux之fgrep命令

入门小站

Linux

从头配置阿里云服务器

阿Q说代码

SSL证书 8月日更 阿里云服务器 域名备案

面向多场景而设计的 Erda Pipeline

尔达Erda

开源 微服务 云原生 企业数字化转型 Go 语言

用户体验再升级!Erda 1.2 版本正式发布

尔达Erda

云计算 开源 开发者 云原生 Go 语言

云原生时代的 APM

尔达Erda

微服务 运维 云原生 APM 应用性能管理

Lua 入门到精通( 01 Lua 简介以及软件安装)《做一个脚本高手》

陈皮的JavaLib

lua Linux 运维 脚本语言 8月日更

索引下推,这个点你肯定不知道!

艾小仙

MySQL MySQL 高可用

html创建表格有那些小技巧,表单中真的有这么多功能吗

你好bk

html html5 大前端 html/css JavaScrip

模块六作业 - 电商系统微服务

babos

#架构实战营

java毕设开发经典选题

清风

毕业设计

拆分电商系统为微服务

木云先森

架构实战营

详解可观测性监控系统中的“金三角”

尔达Erda

开源 微服务 运维 云原生 APM

情窦初开,原来喜欢这么可爱的

4ye

Python 后端 8月日更 词云

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