跳至正文
Wener Notes

Java 12

约 2 分钟阅读
  • Released: 2019-03-19

核心总结

  • 小版本中引入 Switch Expressions 预览,默认 CDS 归档和 G1 改进,Shenandoah 首次实验进入。

升级关注

  • Switch Expressions 仍是预览,生产代码需谨慎依赖。

示例

Switch Expressions Preview

java
// javac --enable-preview --release 12 Demo.java
// java --enable-preview Demo
var type = switch (day) {
  case MONDAY, FRIDAY, SUNDAY -> "busy";
  case TUESDAY -> "normal";
  default -> "other";
};

JMH 微基准套件方向

java
// JDK 自身引入 microbenchmark suite;业务项目通常直接用 org.openjdk.jmh:jmh-core。

JEPs

JEP状态分类标题中文描述
JEP 189实验GC/RuntimeShenandoah: A Low-Pause-Time Garbage Collector (Experimental)实验性 Shenandoah 低停顿 GC。
JEP 230正式工具/平台Microbenchmark SuiteJDK 源码内置 JMH 微基准套件。
JEP 325预览语言Switch Expressions (Preview)switch 可作为表达式并返回值,预览。
JEP 334正式库/APIJVM Constants API标准化描述 class-file 和运行时常量的 API。
JEP 340正式工具/平台One AArch64 Port, Not Two保留一个 AArch64 port,移除重复实现。
JEP 341正式GC/RuntimeDefault CDS Archives默认生成 CDS 归档,改善启动时间。
JEP 344正式GC/RuntimeAbortable Mixed Collections for G1G1 mixed collection 可中止,降低超预算停顿。
JEP 346正式GC/RuntimePromptly Return Unused Committed Memory from G1G1 更快把未用 committed 内存还给 OS。

References

关联信息

反向链接、本文链接的其他页面和外部资料。

反向链接

  • Java 版本
    笔记 · Java 12

    自 Java 9 · 每 6 个月一个版本 · 每 2 年一个 LTS - 每 4 个版本 · Java 11 - Java 17 隔了 3 年, 之后为每隔两年 · Java JEP 与版本变化 · 参考 · Java version history

  • Java JEP 与版本变化
    笔记 · 12

    资料来源以 OpenJDK JDK Project 页面和 JEP 页面为主。Java 5–7 主要按 JSR/项目整理;JDK 8 起按代表性 JEP 整理;JDK 10 起列出该版本项目页 Features 中的全部 JEP。 · | 状态 | 含义 | 使用建议 |

参考资料

其他外链10 条
最近更新commit 25ad4d4编辑