3月20日, Java 10 正式发布了!
3 月 20 日,Oracle 宣布 Java 10 正式发布。官方已提供下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html 。
在 Java 9 之后,Java 采用了基于时间发布的策略,每 6 个月一个版本。这是采用新的发布策略之后的第一个版本。
Java 10 主要有 12 个新特性。
具体来看看。
JEP 286: Local-Variable Type Inference
局部变量的类型推导。
很多人都会吐槽 Java 代码写起来太过繁琐,特别是涉及泛型的时候。就像 C++,也基于 auto 关键字引入了类型推导功能。
Java 也计划引入类似特性,语法是这样的:
var list = new ArrayList<String>(); // infers ArrayList<String>var stream = list.stream(); // infers Stream<String>
该特性只能用于三种场景:
- 带有初始化信息的局部变量
- 增强 for 循环中的索引
- 传统 for 循环中的局部变量
看个复杂点的例子:
对该特性感兴趣的读者可以参考:https://developer.oracle.com/java/jdk-10-local-variable-type-inference 。
JEP 296: Consolidate the JDK Forest into a Single Repository
将 JDK 的多个代码仓库合并到一个代码仓库中。
看过 JDK 代码的应该知道,JDK 的不同功能分布在不同代码仓库中。以 JDK 9 为例,代码仓库有 8 个: root, corba, hotspot,jaxp, jaxws, jdk, langtools 和 nashorn。其中 hotspot 是虚拟机实现代码,jdk 是 Java 类库和相关工具,langtools 是 javac 等工具,nashorn 是 JavaScript 引擎。
JEP 304: Garbage Collector Interface
垃圾收集器接口。
在 hotspot/gc 代码实现方面,引入一个干净的垃圾收集器接口,改进不同垃圾收集器源代码的隔离性。这样添加新的或者删除旧的 GC,都会更容易。
JEP 307: Parallel Full GC for G1
为 G1 垃圾收集器引入并行 Full GC。
JEP 310: Application Class-Data Sharing
Java 之前就引入了类数据共享机制,Class data sharing (CDS) ,以减少 Java 程序的启动时间,降低内存占用。简单来说,Java 安装程序会把 rt.jar 中的核心类提前转化成内部表示,转储到一个共享的文件中(shared archive)。多个 Java 进程(或者说 JVM 实例)可以共享这部分数据。
现在,希望更近一步,支持应用类的数据共享。
JEP 312: Thread-Local Handshakes
修改安全点机制,使得部分回调操作只需要停掉单个线程,而不像以前那样,只能选择或者停掉所有线程,或者都不停止。
JEP 313: Remove the Native-Header Generation Tool (javah)
去掉 javah 工具。
从 JDK 8 开始,javah 的功能已经集成到了 javac 中。所以,javah 可以删掉了。
JEP 314: Additional Unicode Language-Tag Extensions
额外的 Unicode 语言标签扩展。
增强 java.util.Locale 和相关 API,实现 BCP 47 语言标签中额外的 Unicode 扩展。
JEP 316: Heap Allocation on Alternative Memory Devices
在可选内存设备上分配堆内存。
支持将 Java 对象堆分配到 NV-DIMM 等内存设备上。随着 NV-DIMM 越来越便宜,未来的系统可能会搭载异构内存架构。
JEP 317: Experimental Java-Based JIT Compiler
实验性的基于 Java 的 JIT 编译器。
支持基于 Java 的 JIT 编译器。相关工作主要基于 Graal。Graal 也是 Java 9 中引入的 AOT 编译器的基础。
JEP 319: Root Certificates
根证书。
在 JDK 中提供一组默认的根证书。
JEP 322: Time-Based Release Versioning
基于时间的版本字符串。修改 Java SE 平台和 JDK 版本字符串机制。考虑和之前版本号的兼容等问题,新的版本命名机制是:
$FEATURE.$INTERIM.$UPDATE.$PATCH
$FEATURE,每次版本发布加 1,不考虑具体的版本内容。(之前的主版本号部分)2018 年 3 月的版本是 JDK 10,9 月的版本是 JDK 11,依此类推。
$INTERIM,中间版本号,在大版本中间发布的,包含问题修复和增强的版本,不会引入非兼容性修改。
马上下载尝试吧!
3月20日, Java 10 正式发布了!相关推荐
- 斗罗大陆服务器维护,《斗罗大陆武魂觉醒》5月20日停服维护公告
亲爱的维序者: 为了给各位维序者更好的游戏体验,我们将预计于5月20日上午10:00对全服进行停服更新维护,维护期间,斗罗大陆将暂时无法进入.维护结束后,维序者将在邮件中收到小舞的停服维护小心意~ 维 ...
- 香港城大计算机学院xutaowei,2018年3月20日学术报告(徐宏,香港城市大学)
报告题目:Network Stack as a Service 报告日期及时间:2018年3月20日上午10:00 报告地点: 计算机学院B403 报告人: Dr. Hong ...
- 新斗罗大陆手游服务器维护,《新斗罗大陆》1月20日合服公告
标签: 海神 <新斗罗大陆>1月20日合服公告 亲爱的魂师大人,为了给大家带来更好的游戏体验,同时也为了响应广大玩家的建议,我们决定将于2021年1月20日(周三)10:30-18:30, ...
- 新斗罗大陆手游服务器维护,《新斗罗大陆》4月20日合服公告
标签: 海神 亲爱的魂师大人,为了给大家带来更好的游戏体验,同时也为了响应广大玩家的建议,我们决定将于2021年4月20日(周二)10:30-18:30,对以下服进行合服处理.合服期间服务器将暂时关闭 ...
- 大天使之剑服务器维护,大天使之剑————【维护】10月20日更新维护公告
亲爱的玩家: 大家好! 7k7k<大天使之剑>将于10月20日10:00-16:00对所有服务器进行例行维护,届时大家将出现无法登陆等现象,预计维护需要6小时. 如果在停机维护期间无法完成 ...
- 2017年含金量最高的机器学习技能或知识有哪些? 翻译 2017年10月20日 14:22:44 标签: 机器学习 / quora 7504 原文:As of 2017, what set of
2017年含金量最高的机器学习技能或知识有哪些? 翻译 2017年10月20日 14:22:44 标签: 机器学习 / quora / 7504
- 联想小新/YOGA新品发布会官宣:定档10月20日
10月11日消息,据联想小新笔记本官微消息,联想消费"好多"产品秋季发布会正式官宣,定档10月20日. 据悉,本次联想发布会将发布一大批11代酷睿轻薄本,包括小新.YOGA系列笔记 ...
- 【10月20日】CCF HPC China 2021中国高性能计算学术年会
[10月20日]"CCF HPC China 2021中国高性能计算学术年会"作为年度规模最大.规格最高的超算盛会,今年攒了一个"大局". CCF HPC C ...
- 【历史上的今天】10 月 20 日:微软黑屏事件;Ubuntu Linux 操作系统发布;Apple Pay 正式上线
整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 10 月 20 日,在 1909 年的今天,Antoni Kilinski 诞生,他是计算机科学课程 ...
最新文章
- IBM首家发布了公有云中的裸机Kubernetes
- Node.js基金会官方的开发者认证准备就绪
- 使用Chrome工具来分析页面的绘制状态
- 信息系统项目管理师:第1章:信息化与信息系统-重点汇总
- Good Technology 产品特色
- Java的技术采⽤用⽣生命周期
- 我的第一个python web开发框架(15)——公司介绍编辑功能
- 马斯克:我是Rust粉丝,但我选择C
- C#时间的味道——任时光匆匆我只在乎你
- 数电实验1:五输入表决器
- Android Studio实现计算器功能
- Python 断言的使用
- 分区表丢失修复与系统启动修复
- oracle autovue是什么软件,AutoVue
- Python学习笔记——工欲善其事,必先利其器
- 企业邮箱是什么?企业邮箱和个人邮箱的区别在哪里
- 电脑文件夹的展示方式
- 作为程序员面试官的3点建议
- KO88冲销内部订单结算的操作参考
- 借助gdb调试glibc代码学习House of Orange
热门文章
- 太强了! 李宏毅:1 天搞懂深度学习,我总结了 300 页 PPT
- 首发:李航老师的《统计学习方法》第二版的代码实现(Github标星过万!)
- Tensorflow2.0 + Transformers 实现Bert FGM对抗训练惩罚梯度损失函数
- 阿里云对象存储OSS之通过URL形式进行图片处理
- [Office 2010 易宝典]怎样直接将Office文档保存为PDF格式?
- Linux系统Logrotate服务介绍
- 如何成为一名数据科学家?(二)
- Solr5.3.1通过copyField设置多个field(字段)同时检索
- xenapp5 负载均衡配置
- 单林多域群集环境中将Exchange 2003迁移到Exchange 2010之二