在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Java 12 / JDK 12 正式发布有哪些新特性?具体变化有Shenandoah:低暂停时间的 GC(实验性功能)、Microbenchmark Suite、Switch Expressions (Preview)、JVMConstants API、One AArch64 Port, Not Two、Default CDS Archives、Abortable Mixed Collections for G1、Promptly Return Unused Committed Memory from G1。
自 2 月 7 日开始,Java/JDK 12 就进入了 RC 阶段。按照发布周期,美国当地时间 3 月 19 日,也就是今天 Java 12 正式发布了!
Java 12 带来了一系列新特性:
189Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) 低暂停时间的 GC
230Microbenchmark Suite 微基准测试套件
325Switch Expressions (Preview) Switch 表达式
334JVM Constants API JVM 常量 API
340One AArch64 Port, Not Two 只保留一个 AArch64 实现
341Default CDS Archives 默认类数据共享归档文件
344Abortable Mixed Collections for G1 可中止的 G1 Mixed GC
346Promptly Return Unused Committed Memory from G1 G1 及时返回未使用的已分配内存
1、Shenandoah:低暂停时间的 GC(实验性功能)
新增了一个名为 Shenandoah 的 GC 算法,通过与正在运行的 Java线程同时进行 evacuation 工作来减少 GC 暂停时间。使用 Shenandoah 的暂停时间与堆大小无关,这意味着无论堆是 200 MB 还是 200 GB,都将具有相同的暂停时间。
2、Microbenchmark Suite
微基准测试套件
JDK 源码中新增了一套微基准测试套件,使开发人员可以轻松运行现有的微基准测试并创建新的基准测试。
3、Switch Expressions (Preview)
Switch 表达式(预览功能)
扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以使用传统的 switch 语法,或者使用简化的“case L ->”模式匹配语法作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的模式匹配(JEP 305)做好准备。
4、JVM Constants API
JVM 常量 API
引入 API 对关键类文件和运行时工件建模,特别是可从常量池加载的常量。在新的 java.lang.invoke.constant 包中定义了一系列基于值的符号引用(JVMS 5.1)类型,它们能够描述每种可加载常量。符号引用以纯 nominal 形式描述可加载常量,与类加载或可访问性上下文区分开。有些类可以作为自己的符号引用(例如 String),而对于可链接常量,定义了一系列符号引用类型(ClassDesc、MethodTypeDesc、MethodHandleDesc 和 DynamicConstantDesc),它们包含描述这些常量的 nominal 信息。
5、One AArch64 Port, Not Two
只保留一个 AArch64 实现
删除了与 arm64 相关的所有源,同时保留 32 位 ARM 实现和 64 位 aarch64。
JDK 中存在两套 64 位 ARM 实现,主要存在于 src/hotspot/cpu/arm 和 open/src/hotspot/cpu/aarch64 目录。两者都实现了 aarch64,现在将只保留后者,删除由 Oracle 提供的 arm64。这将使贡献者将他们的精力集中在单个 64 位 ARM 实现上,并消除维护两套实现所需的重复工作。
6、Default CDS Archives
默认类数据共享归档文件
针对 64 位平台,使用默认类列表增强 JDK 构建过程以生成类数据共享(class data-sharing,CDS)档。
7、Abortable Mixed Collections for G1
可中止的 G1 Mixed GC
如果 G1 Mixed GC 存在超出暂停目标的可能性,则使其可中止。
Promptly Return Unused Committed Memory from G1
8、G1 及时返回未使用的已分配内存
增强 G1 GC,在空闲时自动将 Java 堆内存返回给操作系统。为了实现向操作系统返回最大内存量的目标,G1 将在应用程序不活动期间定期执行或触发并发周期以确定整体 Java 堆使用情况。这将导致它自动将 Java 堆的未使用部分返回给操作系统。而在用户控制下,可以可选地执行完整的 GC,以使返回的内存量最大化。
来源:开源中国
以上就是小编整理的“ Java 12 / JDK 12 正式发布”内容,希望可以帮到您~
免责条款:文章部分内容来源于互联网仅供参考阅读。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
自学Java开发能找到工作吗?
自学Java开发能找到工作吗?具体问题具体分析,因此这需要结合个人的学习能力和学习进度分析。一般来讲,自学Java有这样的问题:没有牢固掌握系统全面的理论知识;学习内容没有与时俱进,不符合企业的对技能的需求;空有理论知识,缺乏实践经验。以上这些问题就是大家在自学完Java后,找不到工作的主要原因。下面小编来讲讲如何解决这些自学的问题。
5515
2019-10-09 17:37:43
WEB开发中安全漏洞的分析和预防
随着互联网技术的高速发展,网络安全日益成为大家关注的重点问题,而信息安全方面的人才更是就业市场上的稀缺资源。毫不夸张的说,目前信息安全已经上升到了国家战略的高度,企业对信息安全方面的人才更是求贤若渴。因此掌握安全漏洞的分析和预防是一项极为有用的技能,本文将和大家详细分享WEB开发中常见安全漏洞分析与预防策略。
5071
2020-01-14 11:36:34
重庆Java培训机构哪个好?
重庆Java培训机构哪个好?相信在IT培训界内,大家都听说过黑马程序员的培训口碑。无论是师资力量,还是课程质量都可以说是业内顶尖水平。只是在当下这个新型冠状病毒爆发的特殊时期,在家学习才是大家最稳妥的选择。因此这里特地向大家推荐博学谷的线上课程,依旧是由黑马程序员名师录制的教学视频,课程质量也和线下的课程完全同步,下面请看博学谷Java培训的具体优势介绍。
5278
2020-02-04 18:14:57
JavaWeb开发XML学习笔记整理
JavaWeb开发能力是Java程序员的必备基础能力,因此掌握它十分重要。今天本文要和大家分享的是JavaWeb开发中有关XML学习笔记的整理。主要内容包括了XML的概念、XML的语法、约束和解析。感兴趣的朋友就一起来看看吧!
5304
2020-04-03 00:40:49
关于Java,你想知道的一切,这里说透了
这里是回车课堂--Java通识课三,在一和二咱们聊了【编程思维】,毕业后【我的职业选择-Java】,希望能够给处在“慌”金时代的你一丝启发。聊过之后如果你也有意从事 Java 编程事业的话,可能就会比较关心实际的问题了。
4518
2021-08-12 18:13:02