前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JDK 12即将发布!你还学得动吗?

JDK 12即将发布!你还学得动吗?

作者头像
用户1516716
发布2019-07-10 14:58:48
3480
发布2019-07-10 14:58:48
举报
文章被收录于专栏:A周立SpringCloudA周立SpringCloud

欢迎转载!

JDK 12即将在2019年3月19日发布,下面列出JDK的版本迭代时间表:

  • 2018/12/13:Rampdown Phase One(http://openjdk.java.net/jeps/3#rdp-1)
  • 2019/01/17:Rampdown Phase Two(http://openjdk.java.net/jeps/3#rdp-2)
  • 2019/02/07:Release-Candidate Phase(http://openjdk.java.net/jeps/3#rc)【正式候选阶段】
  • 2019/03/19:General Availability【最终可用版】

由此可知,目前JDK 12已处于Rampdown Phase One阶段,所有的新特性已经冻结,不会再针对其他JEP(JDK Enhancement Proposals简写,Java增强提案,读者可前往http://openjdk.java.net/jeps/0 查看所有的JEP)。

新特性

JDK 12新特性如下:

  • 189:Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)(http://openjdk.java.net/jeps/189):新增名为 Shenandoah 的、低暂停时间的实验性垃圾收集器;
  • 230:Microbenchmark Suite(http://openjdk.java.net/jeps/230):新增微基准测试套件(Microbenchmark Suite),使开发人员可以轻松运行现有的微基准测试并创建新的基准测试;
  • 325:Switch Expressions (Preview)(http://openjdk.java.net/jeps/325)(预览):对现有Switch表达式改进,使其可以用作语句或表达式。
代码语言:javascript
复制
// 例如支持这么写:
switch (day) {
    case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
    case TUESDAY                -> System.out.println(7);
    case THURSDAY, SATURDAY     -> System.out.println(8);
    case WEDNESDAY              -> System.out.println(9);
}
  • 334:JVM Constants API(http://openjdk.java.net/jeps/334):引入API来对关键类文件(key class-file)和运行时工件(run-time artifacts)的名义描述(nominal descriptions)建模,特别是可从常量池加载的常量。
  • 340:One AArch64 Port, Not Two(http://openjdk.java.net/jeps/340):在保留32位ARM端口和64位 aarch64端口的同时,删除与 arm64 端口相关的所有源码。
  • 341:Default CDS Archives(http://openjdk.java.net/jeps/341):在64位平台上使用默认类列表增强JDK构建过程,从而生成类数据共享(CDS)归档。
  • 344:Abortable Mixed Collections for G1(http://openjdk.java.net/jeps/344):如果G1混合回收超过暂停目标时,使其可中止。
  • 346:Promptly Return Unused Committed Memory from G1(http://openjdk.java.net/jeps/346):增强G1垃圾收集器,以便在空闲时自动将Java堆内存返回给操作系统。

新特性分析

由上可知,JDK 12主要是对GC的一些改进,另外对switch提供了新的语法糖。总体改动不大。

JDK 13……

顺便看了一下JDK 13的迭代计划,2019年9月发布,这不是什么新鲜事,因为Java现在就是半年发布一次版本。有兴趣的可前往http://openjdk.java.net/projects/jdk/13/查看相关信息。

讨论

你最想要的JDK特性是啥?可以在下面留言讨论哦,当然不想要新特性也是一种个性,哈哈。。

笔者最想要的是 RawStringLiterals 特性,类似于Javascript ES6语法中的模板字符串使用它基本可以告别丑陋的字符串拼接!特性详见http://openjdk.java.net/jeps/326 ,该特性原计划在JDK 12发布的,结果又被干掉了,详见:http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html 。不过可能是因为业界呼声太高,最近又把该特性拿出来重新讨论了:https://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-January/000931.html ,但愿该特性能早日发布吧……

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT牧场 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 新特性
  • 新特性分析
  • JDK 13……
  • 讨论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档