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

  


  写在前面

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

  不管怎样,下面还是来看一下JDK 12的新特性解(fan)读(yi)吧!

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

  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 堆内存返回给操作系统。


转载于:https://juejin.im/post/5c93429be51d451510558844

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值