zoukankan      html  css  js  c++  java
  • JDK 15 JAVA 15的新特性展望


    JDK 15 JAVA 15的新特性展望

    伴随着2020的寒冬和新冠病毒的肆虐,JAVA迎来了久未已久的JAVA 14。自从2017年JAVA 9发布之后,JAVA的发布版本跟上了敏捷开发的步伐,小步快跑,Java平台发布节奏已从每3年以上的主要版本转变为每6个月发布一次功能。现在,每年的3月和9月都会发布新的版本功能。

    三月已过,九月还远吗?

    在JAVA 14中,推出了swith的最终版本,并且支持了NVM。

    今天本文将会展望一下JAVA 15中会带给我们的新特性。

    总体来说有5个JEP将会提交到JAVA 15。

    什么?你问我JEP是什么?

    JEP的全称就是JDK Enhancement Proposals,简单点讲就像是一个个对JAVA进行改进提案,这些提案会在合适的时间合适的地点被加入JDK的特定版本。

    下面看下5大提案都有些什么内容:

    JEP 371: Hidden Classes

    通常我们在使用大型的框架或者lambda表达式的时候,会动态生成很多类。但是不幸的是标准的定义类的API:ClassLoader::defineClass 和 Lookup::defineClass不能够区分出这些类是动态生成(运行时生成)的还是静态
    生成(编译生成)的。

    一般来说动态生成的类生命周期更短,并且其可见性要更低。但是现有的JDK并没有这个功能。

    所有有了Hidden Classes的提案,通过Hidden Classes,不管是JDK还是JDK外部的框架,在生成动态类的时候都可以定义为Hidden Classes,这样可以更加有效的控制这些动态生成类的生命周期和可见性。

    JEP 372: 删除 Nashorn JavaScript Engine

    实际上jdk.scripting.nashorn和jdk.scripting.nashorn.shell这两个在JDK11的时候已经被标记为deprecated。在JDK15中只是把他们删除而已。

    JEP 377: 新的垃圾回收器ZGC正式上线了

    Z Garbage Collector(ZGC)是在JAVA 11中引入的垃圾回收器,但一直都是实验版本,在JDK 15中,终于要上线了。

    ZGC是一个重新设计的并发的垃圾回收器,可以极大的提升GC的性能。

    JEP 378: Text Blocks 标准化

    Text Blocks第一次是在JDK 13中以预览功能出现的JEP 355。然后在JDK 14中又出现了第二个版本JEP 368。终于在JDK 15中可以有最终版本了。

    文本块是一种多行字符串文字,它避免了大多数转义序列的需要,以一种可预测的方式自动设置字符串的格式。

    HTML example

    传统方式:

    String html = "<html>
    " +
                  "    <body>
    " +
                  "        <p>Hello, world</p>
    " +
                  "    </body>
    " +
                  "</html>
    ";
    

    文本块方式:

    String html = """
                  <html>
                      <body>
                          <p>Hello, world</p>
                      </body>
                  </html>
                  """;
    

    SQL example

    传统方式:

    String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
    " +
                   "WHERE `CITY` = 'INDIANAPOLIS'
    " +
                   "ORDER BY `EMP_ID`, `LAST_NAME`;
    ";
    

    文本块方式:

    String query = """
                   SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
                   WHERE `CITY` = 'INDIANAPOLIS'
                   ORDER BY `EMP_ID`, `LAST_NAME`;
                   """;
    

    JEP 379: 新的垃圾回收器Shenandoah上线

    Shenandoah和ZGC一样,是以实验特性在JAVA 12中引入的JEP 189。现在终于要在JAVA 15中转正了。

    总结

    上述就是5大很可能在JAVA 15中实现的新特性,希望大家能够喜欢。

    更多内容请访问 www.flydean.com

    最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

    欢迎关注我的公众号:「程序那些事」,懂技术,更懂你!

  • 相关阅读:
    B-Tree(B树)原理及C++代码实现
    Select(快速选择顺序统计量)原理及C++代码实现
    BucketSort(桶排序)原理及C++代码实现
    RadixSort(基数排序)原理及C++代码实现
    CountingSort(计数排序)原理及C++代码实现
    面向对象之封装
    今日算法题
    面向对象之抽象类和接口
    面向对象之多态
    今日算法题
  • 原文地址:https://www.cnblogs.com/flydean/p/jdk15-java15-new-features.html
Copyright © 2011-2022 走看看