小編給大家分享一下jdk8有什么新特性,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
站在用戶的角度思考問題,與客戶深入溝通,找到七臺河網(wǎng)站設(shè)計與七臺河網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋七臺河地區(qū)。JDK 8 中的新特性有:引入Lambda 表達式,提供Stream API,啟用客戶端 TLS 1.2,支持 AEAD 算法,安全性更高,新的 Modena 主題,新程序包等等
JDK 8 中的新特性
Java Platform, Standard Edition 8 是一個擁有豐富特性的主要版本。本文檔總結(jié)了 Java SE 8、JDK 8 以及 Oracle 的 Java SE 8 實現(xiàn)中的特性和增強。單擊組件名稱可獲取該組件增強功能更詳細的描述。
Java 編程語言
Lambda 表達式是一個新的語言特性,已經(jīng)在此版本中引入。該特性讓您可以將功能視為方法參數(shù),或者將代碼視為數(shù)據(jù)。使用 Lambda 表達式,您可以更簡潔地表示單方法接口(稱為功能接口)的實例。
方法引用為已經(jīng)具有名稱的方法提供了易于理解的 lambda 表達式。
默認方法允許將新功能添加到庫的接口中,并確保與為這些接口的舊版本編寫的代碼的二進制兼容性。
重復(fù)批注支持對同一個聲明或類型的使用多次應(yīng)用相同的批注類型。
類型批注支持在使用類型的任何地方應(yīng)用批注,而不僅限于聲明。與可插拔類型系統(tǒng)結(jié)合使用時,此特性可改進代碼的類型檢查。
改進類型推斷。
方法參數(shù)反射。
集合
新的 java.util.stream 包中的類提供了一個 Stream API,支持對元素流進行函數(shù)式操作。Stream API 集成在 Collections API 中,可以對集合進行批量操作,例如順序或并行的 map-reduce 轉(zhuǎn)換。
針對存在鍵沖突的 HashMap 的性能改進
緊湊 profile
包含 Java SE 平臺的預(yù)定義子集,并且支持不需要在小型設(shè)備上部署和運行整個平臺的應(yīng)用。
安全性
默認啟用客戶端 TLS 1.2
AccessController.doPrivileged 的新變體支持代碼斷言其權(quán)限的子集,而不會阻止完全遍歷堆棧來檢查其他權(quán)限
更強大的基于密碼的加密算法
JSSE 服務(wù)器端支持 SSL/TLS 服務(wù)器名稱指示 (SNI) 擴展
支持 AEAD 算法:SunJCE 提供程序得到了增強,支持 AES/GCM/NoPadding 密碼實現(xiàn)以及 GCM 算法參數(shù)。而且 SunJSSE 提供程序也得到了增強,支持基于 AEAD 模式的密碼套件。請參閱 Oracle 提供程序文檔,JEP 115。
密鑰庫增強,包括新的域密鑰庫類型 java.security.DomainLoadStoreParameter 和為 keytool 實用程序新增的命令選項 -importpassword
SHA-224 消息摘要
增強了對 NSA Suite B 加密的支持
更好地支持高熵隨機數(shù)生成
新增了 java.security.cert.PKIXRevocationChecker 類,用于配置 X.509 證書的撤銷檢查
適用于 Windows 的 64 位 PKCS11
Kerberos 5 重放緩存中新增了 rcache 類型
支持 Kerberos 5 協(xié)議轉(zhuǎn)換和受限委派
默認禁用 Kerberos 5 弱加密類型
適用于 GSS-API/Kerberos 5 機制的未綁定 SASL
針對多個主機名稱的 SASL 服務(wù)
JNI 橋接至 Mac OS X 上的原生 JGSS
SunJSSE 提供程序中支持更強大的臨時 DH 密鑰
JSSE 中支持服務(wù)器端加密套件選項自定義
JavaFX
本版本中實施了新的 Modena 主題。
新的 SwingNode 類允許開發(fā)人員將 Swing 內(nèi)容嵌入到 JavaFX 應(yīng)用中。請參閱 SwingNode javadoc 和將 Swing 內(nèi)容嵌入 JavaFX 應(yīng)用中。
新的 UI 控件包括 DatePicker 和 TreeTableView 控件。
javafx.print 程序包為 JavaFX Printing API 提供了公共類。有關(guān)更多信息,請參閱 javadoc。
3D 圖形特性現(xiàn)在包括 3D 形狀、攝像頭、燈光、子場景、材料、挑選和抗鋸齒。JavaFX 3D 圖形庫中新增了 Shape3D(Box、Cylinder、MeshView 和 Sphere 子類)、SubScene、Material、PickResult、LightBase(AmbientLight 和 PointLight子類)和 SceneAntialiasing API 類。此版本中的 Camera API 類也已更新。請參閱 javafx.scene.shape.Shape3D、javafx.scene.SubScene、javafx.scene.paint.Material、javafx.scene.input.PickResult 和 javafx.scene.SceneAntialiasing 類的相關(guān) javadoc 以及 JavaFX 3D 圖形入門文檔。
WebView 類包含新特性和改進。有關(guān)其他 HTML5 特性(包括 Web 套接字、Web 輔助進程和 Web 字體)的更多信息,請參閱 HTML5 支持的特性。
增強了文本支持,包括雙向文本、復(fù)雜文本腳本(如泰語和印地語控件)以及文本節(jié)點中的多行多樣式文本。
此版本添加了對 Hi-DPI 顯示的支持。
CSS Styleable* 類已成為公共 API。有關(guān)更多信息,請參閱 Javafx.css javadoc。
新的 ScheduledService 類允許自動重新啟動服務(wù)。
JavaFX 現(xiàn)在可用于 ARM 平臺。適用于 ARM 的 JDK 包含 JavaFX 的基礎(chǔ)組件、圖形組件和控制組件。
工具
可通過 jjs 命令來調(diào)用 Nashorn 引擎。
java 命令用于啟動 JavaFX 應(yīng)用。
重新編寫了 java 手冊頁。
可通過 jdeps 命令行工具來分析類文件。
Java Management Extensions (JMX) 支持遠程訪問診斷命令。
jarsigner 工具提供了一個選項用于請求獲取時間戳機構(gòu) (TSA) 的簽名時間戳。
Javac 工具
javac 命令的 -parameters 選項可用于存儲正式參數(shù)名稱,并啟用反射 API 來檢索正式參數(shù)名稱。
javac 命令現(xiàn)已正確實施了 Java 語言規(guī)范 (JLS) 第 15.21 節(jié)中的相等運算符的類型規(guī)則。
javac 工具現(xiàn)在支持檢查 javadoc 注釋的內(nèi)容,從而避免在運行 javadoc 時生成的文件中產(chǎn)生各種問題,例如無效的 HTML 或可訪問性問題??赏ㄟ^新的 Xdoclint 選項來啟用此特性。有關(guān)更多詳細信息,請參閱運行“javac-X”時的輸出。此特性也可以在 javadoc 工具中使用,并且默認啟用。
javac 工具現(xiàn)在支持根據(jù)需要生成原生標頭。這樣便無需在構(gòu)建管道中單獨運行 javah 工具??梢允褂眯碌?-h 選項在 javac 中啟用此特性,該選項用于指定寫入頭文件的目錄。將為任何具有原生方法或者使用 java.lang.annotation.Native 類型的新批注的類進行批注的常量字段生成頭文件。
Javadoc 工具
javadoc 工具支持新的 DocTree API,讓您可以將 Javadoc 注釋作為抽象語法樹來進行遍歷。
javadoc 工具支持新的 Javadoc Access API,讓您可以直接從 Java 應(yīng)用中調(diào)用 Javadoc 工具,而無需執(zhí)行新的進程。有關(guān)更多信息,請參閱 javadoc 新特性頁面。
javadoc 工具現(xiàn)在支持檢查 javadoc 注釋的內(nèi)容,從而避免在運行 javadoc 時生成的文件中產(chǎn)生各種問題,例如無效的 HTML 或可訪問性問題。此特性默認為啟用狀態(tài),可以通過新的 -Xdoclint 選項加以控制。有關(guān)更多詳細信息,請參閱運行“javadoc -X”時的輸出。javac 工具也支持此特性,但默認情況下并未啟用它。
國際化
Unicode 增強,包括對 Unicode 6.2.0 的支持
采用 Unicode CLDR 數(shù)據(jù)和 java.locale.providers 系統(tǒng)屬性
新增日歷和區(qū)域設(shè)置 API
支持將自定義資源包作為擴展進行安裝
部署
現(xiàn)在可以使用 URLPermission 允許沙盒小程序和 Java Web Start 應(yīng)用連接回啟動它們的服務(wù)器。不再授予 SocketPermission。
在所有安全級別,主 JAR 文件的 JAR 文件清單中都需要 Permissions 屬性。
Date-Time 程序包
一組新程序包,提供全面的日期-時間模型。
腳本編寫
Rhino Javascript 引擎已被替換為 Nashorn JavaScript 引擎
Pack200
Pack200 支持 JSR 292 引入的常量池條目和新字節(jié)碼
JDK8 支持 JSR-292、JSR-308 和 JSR-335 指定的類文件更改
IO 和 NIO
全新的基于 Solaris 事件端口機制的面向 Solaris 的 SelectorProvider 實現(xiàn)。要使用它,請將系統(tǒng)屬性 java.nio.channels.spi.Selector 的值設(shè)置為 sun.nio.ch.EventPortSelectorProvider。
減小
提高了 java.lang.String(byte[], *) 構(gòu)造函數(shù)和 java.lang.String.getBytes() 方法的性能。
java.lang 和 java.util 程序包
并行數(shù)組排序
標準編碼和解碼 Base64
無符號算術(shù)支持
JDBC
刪除了 JDBC-ODBC Bridge。
JDBC 4.2 引入了新特性。
Java DB
JDK 8 包含 Java DB 10.10。
網(wǎng)絡(luò)
已添加 java.net.URLPermission 類。
在 java.net.HttpURLConnection 類中,如果安裝了安全管理器,那么請求打開連接的調(diào)用需要權(quán)限。
并發(fā)性
java.util.concurrent 程序包中新增了一些類和接口。
java.util.concurrent.ConcurrentHashMap 類中新增了一些方法,支持基于新增流工具和 lambda 表達式的聚合操作。
java.util.concurrent.atomic 程序包中新增了一些類來支持可擴展、可更新的變量。
java.util.concurrent.ForkJoinPool 類中新增了一些方法來支持通用池。
新增的 java.util.concurrent.locks.StampedLock 類提供了一個基于能力的鎖,可通過三種模式來控制讀/寫訪問。
Java XML - JAXP
HotSpot
新增的硬件內(nèi)部函數(shù)以便使用高級加密標準 (AES)。UseAES 和 UseAESIntrinsics 標志用于為 Intel 硬件啟用基于硬件的 AES 內(nèi)部函數(shù)。硬件必須是 2010 年或更新的 Westmere 硬件。例如,要啟用硬件 AES,請使用以下標志:
-XX:+UseAES -XX:+UseAESIntrinsics
要禁用硬件 AES,請使用以下標志:
-XX:-UseAES -XX:-UseAESIntrinsics
刪除了 PermGen。
方法調(diào)用的字節(jié)碼指令支持 Java 編程語言中的默認方法。
Java Mission Control 5.3 版本說明
JDK 8 包含 Java Mission Control 5.3。
看完了這篇文章,相信你對jdk8有什么新特性有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!