一、概述
JDK1.9是Java平台的又一次重大更新,於2017年9月21日正式發布,其中一些最重要的新特性包括Jigsaw模塊化系統、jshell等等。在此之前,一些JDK1.9的預覽版本在2016年和2017年公開發布,以便於Java社區進行測試和反饋。此外,JDK1.9是一個非常重要的里程碑,因為它是Java平台歷史上的第一個長期支持版本。
二、新特性
1. Jigsaw模塊化系統
Jigsaw是JDK1.9的主要新特性之一,它引入了Java平台的模塊化系統。Jigsaw系統的主要目標是解決兩個問題:第一個問題是代碼的複雜性,第二個問題是庫的依賴性。
模塊化允許開發人員將應用程序和庫分解為易於維護和管理的模塊。每個模塊包含特定的類和資源,並且只提供必要的信息。這有助於減少應用程序的安全漏洞,簡化庫的依賴關係,並提高應用程序的性能。
以下是一個簡單的例子,說明如何在JDK1.9中使用模塊:
module org.demo.billing { requires org.demo.utils; exports org.demo.billing; }
這個模塊定義文件稱為module-info.java,它包含了應用程序模塊的元數據。
2. jshell
jshell是junit的另一個新特性。它是Java編程語言的交互式shell,允許開發人員在不編寫整個程序的情況下測試和嘗試小段代碼。jshell很容易使用,可以接受簡單的Java表達式,甚至還可以接受語句。Java 9的JShell提供了一種交互式方法,用於編寫和測試Java代碼。
jshell功能可幫助開發人員更快地進行代碼編寫和測試。例如,開發人員可以嘗試不同的Java語法和表達式,而不必先編寫完整的應用程序。以下是一個簡單的示例:
jshell> String name = "World" name ==> "World" jshell> System.out.println("Hello, " + name + "!") Hello, World!
3. 多版本JAR文件
JDK 1.9提供了一種新的方式,即多版本JAR文件,允許創建只包含一個JAR文件,但包含多個版本的類。這對於依賴多個庫的Java應用程序非常有用。您可以使用多版本JAR文件解決在不同版本的庫之間存在衝突時的問題。
使用多版本JAR文件時,您需要在JAR文件中指定不同的類版本。以下是一個示例:
requirement: 'com.example.library:foo:2.0.0' provide: 'com.example.library:foo:[1.0.0,2.0.0)', 'com.example.library:foo:2.0.0'
這段代碼表示,該應用程序依賴於一個名為“com.example.library”的庫,其中版本號為2.0.0。另外,該庫提供了兩個不同的版本:1.0.0到2.0.0之間的所有版本和2.0.0版本。
4. HTTP/2標準支持
JDK 1.9通過引入HTTP/2標準支持,支持了現代應用程序所需的大大改進的Web性能。HTTP/2引入了多路復用和二進制分幀等特性,從而顯著提高了網絡性能。
JDK 1.9中包含的HTTP/2實現是在Java SE平台中執行的。這意味着您不需要安裝任何附加庫或工具,即可使用HTTP/2功能。
5. 改進的安全性
JDK 1.9通過對Java平台核心API和庫進行改進,提高了Java應用程序的安全性。JDK 1.9引入了SecureRandomParameters,這個新的API為SecureRandom類提供了更好的保護機制。此外,JDK 1.9現在默認禁用了標準的Java SE API,這些API在過去被發現存在安全漏洞。這意味着開發人員現在必須明確地啟用這些API。
三、結論
JDK 1.9是Java平台歷史上的一個里程碑,它帶來了多項重要的新功能和性能改進。其中最重要的新功能之一是Jigsaw模塊化系統,這有助於在Java應用程序中提高代碼的可維護性和可管理性。此外,JDK 1.9的HTTP/2支持和改進的安全性,也進一步提高了Java應用程序的性能和安全性。
原創文章,作者:MGGA,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/142535.html