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>\n" +
              "    <body>\n" +
              "        <p>Hello, world</p>\n" +
              "    </body>\n" +
              "</html>\n";

文本塊方式:

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

SQL example

傳統方式:

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

文本塊方式:

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

最通俗的解讀,最深刻的干貨,最簡潔的教程,眾多你不知道的小技巧等你來發現!

歡迎關注我的公眾號:「程序那些事」,懂技術,更懂你!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM