AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

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

关注

评论

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

如何推动与影响中型前端团队的成长

堂主

研发管理 大前端 团队建设

DD 测试linux性能

HU

CDN云课堂 |可编程CDN – EdgeScript应用场景、语言速览和实操演示

阿里云Edge Plus

并发编程如何才能不再头疼:iOS中的协程

超越杨超越

ios 协程 coobjc ucontext

奔向 10W+ 的第一次 update

赵新龙

InfoQ B站 Quora

用测试驱动开发学算法

escray

学习 CSD 认证实战营

我站在愚蠢之巅

escray

学习 CSD 认证实战营

CDN云课堂 | EdgeRoutine技术专家教你把JS代码跑到CDN边缘

阿里云Edge Plus

Java CDN edge

CDN百科 | 假如没有CDN,网络世界会变成什么样?

阿里云Edge Plus

读懂才会用 : 瞅瞅Redis的epoll模型

小眼睛聊技术

redis 缓存 学习 开源 架构 后端

GrowingIO 微服务 SaaS 与私有部署运行实践

GrowingIO技术专栏

大数据 微服务 SaaS

谈谈控制感(2):怎么让我们更健康

史方远

个人成长 心理

TOTO 2020再次荣获iF、红点两项国际设计大奖

极客编

MySQL数据类型DECIMAL用法

Simon

MySQL

多个 SSH keys 的配置,方便 Git 对不同仓库的使用与管理

与光

git GitHub SSH

视达荣登ChinaBang Awards 2020智慧零售榜Top10

极客编

可视化 Tekton 组件 Tekton Dashboard

郭旭东

Kubernetes cicd

CDN百科 | 最近,你的APP崩了吗?

阿里云Edge Plus

CDN

用SpreadJS实现在线Excel的录入与展示,提升企业医保信息化服务水平

葡萄城技术团队

SpreadJS 医保信息化 在线excel

一杯茶的时间,上手 Git 团队协作开发

图雀社区

git GitHub

由丰巢快递柜引发的思考

Neco.W

创业 思考 丰巢

Java 编程基础

michaelliu

Kafka系列第6篇:消息是如何在服务端存储与读取的,你真的知道吗?

z小赵

Java 大数据 kafka 实时计算

抄作业

escray

学习 CSD 认证实战营

一文看懂开源工作流引擎 Flowable

八味阁

Java spring 开源 企业中台 工作流

想退休,可能没机会了

池建强

读书感悟

《Linux就该这么学》笔记(二)

编程随想曲

Linux

概念有时候很坑

伯薇

抽象 思考力 沟通 概念

游戏夜读 | 如何优化缓冲加载?

game1night

KubeFATE:在Kubernetes上部署联邦学习平台

亨利笔记

人工智能 学习 FATE KUBEFATE

聊聊Serverless

kimmking

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