jdk 1.8的新特性_JDK的主要新特性 Java 12

Java 12在2019年3月19日发布,引入了增强的switch表达式,解决了传统switch语句中易漏写break的问题,同时增加了数字格式化工具类CompactNumberFormat和低停顿垃圾收集器Shenandoah GC。此外,G1收集器也得到了提升,实现了可中止的混合收集和及时返回未使用的内存。
摘要由CSDN通过智能技术生成

Java 12发布于2019年3月19日,一些重要的新特性如下。

1. 增强的switch(预览功能)

传统的switch语法存在容易漏写break的问题,而且从代码整洁性层面来看,多个break 也是一种重复。Java 12提供了增强的switch表达式,使用类似lambda表达式中条件匹配成功后的执行块,不需要多写break。作为预览特性加入,需要在javac编译和java运行时增加参数--enable-preview。例如,以下代码输出7。

        String day ="Tuesday";

        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);

        }

2. 数字格式化工具类

Java 12引入了新的格式化数字的类CompactNumberFormat,方便我们对很长的数字进行简写。比如1000可以简写为1K。

3. 低停顿垃圾收集器Shenandoah GC

Java 12新增名为Shenandoah GC的全新并发压缩垃圾回收器,是Redhat主导开发的Pauseless GC的实现,主要目标是使99.9%的暂停小于10ms,暂停与堆大小无关等。

4. G1收集器提升

Java 12为默认的垃圾收集器G1带来了两项更新:

可中止的混合收集:JEP 344的实现。为了达到用户提供的停顿时间目标,JEP 344把要被回收的区域集(混合收集集合)拆分为强制和可选部分,使G1垃圾回收器能中止垃圾回收过程。G1可以中止可选部分的回收以达到停顿时间目标。

及时返回未使用的已分配内存:JEP 346的实现,增强G1,以便在空闲时自动将Java堆内存返回给操作系统。

资料引用:

https://www.cnblogs.com/otis/p/12846441.html

https://zhuanlan.zhihu.com/p/136841676

2572f581a5df694e19785f3dab9ee4d6.png

2f124e6de87e47b414893615344998ec.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值