大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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

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

关注

评论

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

教你如何用CSS修改图片颜色

千锋IT教育

Go 语言为什么建议定义零值可用的结构体?

Java-fenn

Java

面试官:说说Java并发运行中的一些安全问题

Java-fenn

Java

Spring 注册 Bean 在配置中的定义和使用 Autowired

HoneyMoose

云管平台的优势有哪些?哪家云管平台好?

行云管家

云计算 云管平台 云管理

有关Redis你掌握好这22点,大厂面试基本稳了!

Java全栈架构师

数据库 程序员 后端 Java 面试 redis 底层原理

谈一谈 build-scripts 架构设计

Java-fenn

Java

【荣耀帐号服务】手把手教你快速上手快应用接入

荣耀开发者服务平台

数据库 前端 手机 服务器 honor

Maven 中依赖使用的版本号

HoneyMoose

中山市等级测评机构有哪些单位?电话号码是多少?

行云管家

等保测评 等级测评 中山市

C++ 中 Lambda 表达式的快速指南

Java-fenn

Java

啃完这32W字的Java程序员面试题,大厂面试分分钟搞定!

收到请回复

Java 云计算 开源 架构 编程语言

面试复盘 | 2022届 大疆秋招 测试开发 完整面经

Java-fenn

Java

为什么Kubernetes和容器与机器学习密不可分?

京东科技开发者

人工智能 机器学习 Kubernetes 容器 ML

ESP32-C3 VScode开发环境搭建(基于ESP-IDF—Windows和Ubuntu双环境)

矜辰所致

vscode 开发环境 ESP32-C3 9月月更

设计模式之备忘录模式

Java-fenn

Java

低代码平台包罗万象,企业应该如何做出抉择?

ToB行业头条

「番外篇」如何用Git平台账号登录建木CI with docker-compose.yml

Jianmu

DevOps 低代码 CI/CD gitops 无代码

MySQL约束和事务知识归纳。

Java快了!

MySQL

字节Java大神精心编写的《Java开发者面试百宝书》,助你一臂之力!

收到请回复

Java 云计算 开源 架构 编程语言

为什么说企业需要关注客户体验?怎样去提升它?

Baklib

企业 客户体验

「Gitea篇」如何用Git平台账号登录建木CI

Jianmu

DevOps 持续集成 gitops 建木

建木持续集成平台v2.5.5发布

Jianmu

开源 DevOps 低代码 CI/CD 无代码

什么是帮助中心?企业该怎样制作帮助中心页面?

Baklib

企业 帮助中心

通过自动化单元测试的形式守护系统架构

京东科技开发者

系统架构 单元测试 代码评审 代码质量检测工具 Archunit

Java 异步编程 (5 种异步实现方式详解)

Java-fenn

Java

mysql优化---如何搭建mysql的主从关系和mycat中间件

Java快了!

面试必问的AOP,我今天用它实现了系统告警

程序员小毕

spring 源码 程序员 Java 面试 aop

如何进行高效的文档管理?这三点很重要!

Baklib

文档管理 企业文档管理工具

9月大厂Java岗面试原题复盘,双非2年经验成功内推进入阿里!

收到请回复

Java 云计算 开源 架构 编程语言

利用Python开发App实战

千锋IT教育

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