JDK 12又来了,我学不动了...


写在前面

看到 JDK 12又发布了,萌新不知不觉感受瑟瑟发抖,从 Java 1.8的函数式编程思惟和范式 到 Java 1.9的模块化特性的加持 以及还没来得及深切感觉一下 Java 1.11 的 ZGC强大以后,此次JDK 12到底有搞了些啥事情呢?我真的学不动了,我该怎么办呢?java

无论怎样,下面仍是来看一下JDK 12的新特性解(fan)读(yi)吧!算法

长按扫描 下面的 当心心 来订阅做者公众号 CodeSheep,获取更多 务实、能看懂、可复现的 原创文 ↓↓↓express

CodeSheep · 程序羊


低暂停延时的垃圾收集器 (实验版)

A Low-Pause-Time Garbage Collector (Experimental)编程

添加一个名为 Shenandoah的新垃圾收集 (GC)算法,该算法经过与正在运行的 Java线程并发执行回收工做来减小 GC暂停时间。Shenandoah的暂停时间与堆大小无关,这意味着不管堆大小是 200MB 仍是 200GB,都将拥有相同的暂停时间。并发


微基准测试套件

Microbenchmark Suite模块化

在 JDK源代码中添加了一组基本的微基准测试套件,使得开发人员不管运行现有的微基准测试或者建立新的微基准测试都变得十分便利。函数式编程


Switch 表达式 (预览版)

Switch Expressions (Preview)函数

这是一个预览版语言特性。经过对 switch语法进行了扩展,使其不只能够做为语句(statement),还能够做为表达式(expression),而且两种形式均可以使用“传统的”或“简化的”语法用于做用于不一样的范围或者控制执行流。这些更改将会简化平常编码,而且为在 switch中使用模式匹配 (JEP 305) 作好了准备。学习


JVM 常量API

JVM Constants API测试

引入一个API来建模关键类文件(key class-file)和运行时构件(run-time artifacts)的标称描述,特别是对那些可从常量池加载的常量。


仅保留 AArch64 实现

One AArch64 Port, Not Two

删除与 arm64实现相关的全部源代码,同时保留 32-bit ARM和 64-bit aarch64实现。删除这些实现是为了让全部代码贡献者集中精力于一个实现上,从而消除维护两个实现所需付出的重复工做。


默认类数据共享归档文件

Default CDS Archives

加强 JDK构建过程,在 64位平台上使用默认的类列表生成类数据共享(class data-sharing,CDS)存档。


可中断的 G1 Mixed GC

Abortable Mixed Collections for G1

若是 Mixed GC 的 G1 存在超出暂停目标的可能性,则使其可被停止。


G1未使用分配内存即时返回

Promptly Return Unused Committed Memory from G1

加强 G1垃圾收集器,以便在空闲时自动将 Java 堆内存返回给操做系统。


参考文献


后 记

啥都不说了,JDK 13您慢点出吧,快要掉队了,我跟不上了...

因为能力有限,如有错误或者不当之处,还请你们批评指正,一块儿学习交流!

相关文章
相关标签/搜索