您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    Java 12 / JDK 12 正式发布
    时间:2019-03-20 08:58 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    Java 12 / JDK 12 正式发布


    △ JDK 12 GA 发布

    189   Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)    低暂停时间的 GC  
    230   Microbenchmark Suite    微基准测试套件  
    325   Switch Expressions (Preview)    Switch 表达式  
    334   JVM Constants API    JVM 常量 API  
    340   One AArch64 Port, Not Two    只保留一个 AArch64 完成  
    341   Default CDS Archives    默许类数据共享归档文件  
    344   Abortable Mixed Collections for G1    可中止的 G1 Mixed GC  
    346   Promptly Return Unused Committed Memory from G1    G1 及时前往未运用的已分配内存  

    Shenandoah: A Low-Pause-Time Garbage Collector (Experimental)

    Shenandoah:低暂停时间的 GC(实验性功用)

    新增了一个名为 Shenandoah 的 GC 算法,经过与正在运转的 Java 线程同时停止 evacuation 任务来增加 GC 暂停时间。运用 Shenandoah 的暂停时间与堆大小有关,这意味着无论堆是 200 MB 还是 200 GB,都将具有相反的暂停时间。

    Microbenchmark Suite

    微基准测试套件

    JDK 源码中新增了一套微基准测试套件,使开发人员可以轻松运转现有的微基准测试并创立新的基准测试。

    Switch Expressions (Preview)

    Switch 表达式(预览功用)

    扩展了 switch 语句,使其不只可以作为语句(statement),还可以作为表达式(expression),并且两种写法都可以运用传统的 switch 语法,或许运用简化的“case L ->”形式婚配语法作用于不同范围并控制执行流。这些更改将简化日常编码任务,并为 switch 中的形式婚配(JEP 305)做好预备。

    JVM Constants API

    JVM 常量 API

    引入 API 来模拟关键类文件和运转时工件的描画,特别是可从常量池加载的常量。在新的 java.lang.invoke.constant 包中定义了一系列基于值的符号援用(JVMS 5.1)类型,它们可以描画每种可加载常量。符号援用以纯 nominal 方式描画可加载常量,与类加载或可拜访性上下文区分开。有些类可以作为本人的符号援用(例如 String),而关于可链接常量,定义了一系列符号援用类型(ClaSSDesc、MethodTypeDesc、MethodHandleDesc 和 DynamicConstantDesc),它们包含描画这些常量的 nominal 信息。

    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 完成上,并消弭维护两套完成所需的重复任务。

    Default CDS Archives

    默许类数据共享归档文件

    针对 64 位平台,运用默许类列表增强 JDK 构建进程以生成类数据共享(class data-sharing,CDS)档。

    Abortable Mixed Collections for G1

    可中止的 G1 Mixed GC

    假设 G1 Mixed GC 存在超出暂停目的的能够性,则使其可中止。

    Promptly Return Unused Committed Memory from G1

    G1 及时前往未运用的已分配内存

    增强 G1 GC,在闲暇时自动将 Java 堆内存前往给操作系统。为了完成向操作系统前往最大内存量的目的,G1 将在运用顺序不活动时期活期执行或触发并发周期以确定全体 Java 堆运用状况。这将招致它自动将 Java 堆的未运用部分前往给操作系统。而在用户控制下,可以可选地执行残缺的 GC,以使前往的内存量最大化。

    上述每一个新特性都有详细的阐明文档,可以点击相应链接查看。

    张望 JDK 13

    依据 JDK 13 的迭代方案,估量将于 2019 年 9 月发布 —— Java 如今采取“半年发布一次版本”的形式。

    可拜访 查看 JDK 13 的相关信息。

    讨论

    留意到不少开发者对 Raw String Literals 特性情有独钟,该特性相似于 JavaScript ES6 语法中的模板字符串,运用它基本可以告别漂亮的字符串拼接。

    特性详见 

    该特性原方案于 JDK 12 发布,惋惜最后还是被取消了,详见:

    能够是由于业界呼声太高,最近委员会又把这个特性拿出来重新讨论了:

    https://mail.openjdk.java.net/pipermail/amber-spec-experts/2019-January/000931.html

    【编辑引荐】

    JavaScript 和 CSS 常用工具办法封装

    我们总结了每个技术开发团队都会遇到的 4 个难题

    WP开发者Atta Elayyan被证明死于新西兰枪击案

    蚂蚁金服开源 SOFAJRaft:消费级 Java Raft 算法库

    调查显示,大少数 Java 开发人员不希望学习新言语

    (责任编辑:admin)