中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jdk8有什么新特性

發布時間:2020-10-29 11:27:50 來源:億速云 閱讀:291 作者:小新 欄目:編程語言

小編給大家分享一下jdk8有什么新特性,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

JDK 8 中的新特性有:引入Lambda 表達式,提供Stream API,啟用客戶端 TLS 1.2,支持 AEAD 算法,安全性更高,新的 Modena 主題,新程序包等等

JDK 8 中的新特性

Java Platform, Standard Edition 8 是一個擁有豐富特性的主要版本。本文檔總結了 Java SE 8、JDK 8 以及 Oracle 的 Java SE 8 實現中的特性和增強。單擊組件名稱可獲取該組件增強功能更詳細的描述。

Java 編程語言

  • Lambda 表達式是一個新的語言特性,已經在此版本中引入。該特性讓您可以將功能視為方法參數,或者將代碼視為數據。使用 Lambda 表達式,您可以更簡潔地表示單方法接口(稱為功能接口)的實例。

  • 方法引用為已經具有名稱的方法提供了易于理解的 lambda 表達式。

  • 默認方法允許將新功能添加到庫的接口中,并確保與為這些接口的舊版本編寫的代碼的二進制兼容性。

  • 重復批注支持對同一個聲明或類型的使用多次應用相同的批注類型。

  • 類型批注支持在使用類型的任何地方應用批注,而不僅限于聲明。與可插拔類型系統結合使用時,此特性可改進代碼的類型檢查。

  • 改進類型推斷。

  • 方法參數反射。

集合

  • 新的 java.util.stream 包中的類提供了一個 Stream API,支持對元素流進行函數式操作。Stream API 集成在 Collections API 中,可以對集合進行批量操作,例如順序或并行的 map-reduce 轉換。

  • 針對存在鍵沖突的 HashMap 的性能改進

緊湊 profile

包含 Java SE 平臺的預定義子集,并且支持不需要在小型設備上部署和運行整個平臺的應用。

安全性

  • 默認啟用客戶端 TLS 1.2

  • AccessController.doPrivileged 的新變體支持代碼斷言其權限的子集,而不會阻止完全遍歷堆棧來檢查其他權限

  • 更強大的基于密碼的加密算法

  • JSSE 服務器端支持 SSL/TLS 服務器名稱指示 (SNI) 擴展

  • 支持 AEAD 算法:SunJCE 提供程序得到了增強,支持 AES/GCM/NoPadding 密碼實現以及 GCM 算法參數。而且 SunJSSE 提供程序也得到了增強,支持基于 AEAD 模式的密碼套件。請參閱 Oracle 提供程序文檔,JEP 115。

  • 密鑰庫增強,包括新的域密鑰庫類型 java.security.DomainLoadStoreParameter 和為 keytool 實用程序新增的命令選項 -importpassword

  • SHA-224 消息摘要

  • 增強了對 NSA Suite B 加密的支持

  • 更好地支持高熵隨機數生成

  • 新增了 java.security.cert.PKIXRevocationChecker 類,用于配置 X.509 證書的撤銷檢查

  • 適用于 Windows 的 64 位 PKCS11

  • Kerberos 5 重放緩存中新增了 rcache 類型

  • 支持 Kerberos 5 協議轉換和受限委派

  • 默認禁用 Kerberos 5 弱加密類型

  • 適用于 GSS-API/Kerberos 5 機制的未綁定 SASL

  • 針對多個主機名稱的 SASL 服務

  • JNI 橋接至 Mac OS X 上的原生 JGSS

  • SunJSSE 提供程序中支持更強大的臨時 DH 密鑰

  • JSSE 中支持服務器端加密套件首選項自定義

JavaFX

  • 本版本中實施了新的 Modena 主題。

  • 新的 SwingNode 類允許開發人員將 Swing 內容嵌入到 JavaFX 應用中。請參閱 SwingNode javadoc 和將 Swing 內容嵌入 JavaFX 應用中。

  • 新的 UI 控件包括 DatePicker 和 TreeTableView 控件。

  • javafx.print 程序包為 JavaFX Printing API 提供了公共類。有關更多信息,請參閱 javadoc。

  • 3D 圖形特性現在包括 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 類的相關 javadoc 以及 JavaFX 3D 圖形入門文檔。

  • WebView 類包含新特性和改進。有關其他 HTML5 特性(包括 Web 套接字、Web 輔助進程和 Web 字體)的更多信息,請參閱 HTML5 支持的特性。

  • 增強了文本支持,包括雙向文本、復雜文本腳本(如泰語和印地語控件)以及文本節點中的多行多樣式文本。

  • 此版本添加了對 Hi-DPI 顯示的支持。

  • CSS Styleable* 類已成為公共 API。有關更多信息,請參閱 Javafx.css javadoc。

  • 新的 ScheduledService 類允許自動重新啟動服務。

  • JavaFX 現在可用于 ARM 平臺。適用于 ARM 的 JDK 包含 JavaFX 的基礎組件、圖形組件和控制組件。

工具

  • 可通過 jjs 命令來調用 Nashorn 引擎。

  • java 命令用于啟動 JavaFX 應用。

  • 重新編寫了 java 手冊頁。

  • 可通過 jdeps 命令行工具來分析類文件。

  • Java Management Extensions (JMX) 支持遠程訪問診斷命令。

  • jarsigner 工具提供了一個選項用于請求獲取時間戳機構 (TSA) 的簽名時間戳。

Javac 工具

  • javac 命令的 -parameters 選項可用于存儲正式參數名稱,并啟用反射 API 來檢索正式參數名稱。

  • javac 命令現已正確實施了 Java 語言規范 (JLS) 第 15.21 節中的相等運算符的類型規則。

  • javac 工具現在支持檢查 javadoc 注釋的內容,從而避免在運行 javadoc 時生成的文件中產生各種問題,例如無效的 HTML 或可訪問性問題。可通過新的 Xdoclint 選項來啟用此特性。有關更多詳細信息,請參閱運行“javac-X”時的輸出。此特性也可以在 javadoc 工具中使用,并且默認啟用。

  • javac 工具現在支持根據需要生成原生標頭。這樣便無需在構建管道中單獨運行 javah 工具。可以使用新的 -h 選項在 javac 中啟用此特性,該選項用于指定寫入頭文件的目錄。將為任何具有原生方法或者使用 java.lang.annotation.Native 類型的新批注的類進行批注的常量字段生成頭文件。

Javadoc 工具

  • javadoc 工具支持新的 DocTree API,讓您可以將 Javadoc 注釋作為抽象語法樹來進行遍歷。

  • javadoc 工具支持新的 Javadoc Access API,讓您可以直接從 Java 應用中調用 Javadoc 工具,而無需執行新的進程。有關更多信息,請參閱 javadoc 新特性頁面。

  • javadoc 工具現在支持檢查 javadoc 注釋的內容,從而避免在運行 javadoc 時生成的文件中產生各種問題,例如無效的 HTML 或可訪問性問題。此特性默認為啟用狀態,可以通過新的 -Xdoclint 選項加以控制。有關更多詳細信息,請參閱運行“javadoc -X”時的輸出。javac 工具也支持此特性,但默認情況下并未啟用它。

國際化

  • Unicode 增強,包括對 Unicode 6.2.0 的支持

  • 采用 Unicode CLDR 數據和 java.locale.providers 系統屬性

  • 新增日歷和區域設置 API

  • 支持將自定義資源包作為擴展進行安裝

部署

  • 現在可以使用 URLPermission 允許沙盒小程序和 Java Web Start 應用連接回啟動它們的服務器。不再授予 SocketPermission。

  • 在所有安全級別,主 JAR 文件的 JAR 文件清單中都需要 Permissions 屬性。

Date-Time 程序包

一組新程序包,提供全面的日期-時間模型。

腳本編寫

Rhino Javascript 引擎已被替換為 Nashorn JavaScript 引擎

Pack200

  • Pack200 支持 JSR 292 引入的常量池條目和新字節碼

  • JDK8 支持 JSR-292、JSR-308 和 JSR-335 指定的類文件更改

IO 和 NIO

  • 全新的基于 Solaris 事件端口機制的面向 Solaris 的 SelectorProvider 實現。要使用它,請將系統屬性 java.nio.channels.spi.Selector 的值設置為 sun.nio.ch.EventPortSelectorProvider。

  • 減小 <JDK_HOME>/jre/lib/charsets.jar 文件的大小

  • 提高了 java.lang.String(byte[], *) 構造函數和 java.lang.String.getBytes() 方法的性能。

java.lang 和 java.util 程序包

  • 并行數組排序

  • 標準編碼和解碼 Base64

  • 無符號算術支持

JDBC

  • 刪除了 JDBC-ODBC Bridge。

  • JDBC 4.2 引入了新特性。

Java DB

JDK 8 包含 Java DB 10.10。

網絡

  • 已添加 java.net.URLPermission 類。

  • 在 java.net.HttpURLConnection 類中,如果安裝了安全管理器,那么請求打開連接的調用需要權限。

并發性

  • 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

  • 新增的硬件內部函數以便使用高級加密標準 (AES)。UseAES 和 UseAESIntrinsics 標志用于為 Intel 硬件啟用基于硬件的 AES 內部函數。硬件必須是 2010 年或更新的 Westmere 硬件。例如,要啟用硬件 AES,請使用以下標志:

  • -XX:+UseAES -XX:+UseAESIntrinsics

  • 要禁用硬件 AES,請使用以下標志:

  • -XX:-UseAES -XX:-UseAESIntrinsics

  • 刪除了 PermGen。

  • 方法調用的字節碼指令支持 Java 編程語言中的默認方法。

Java Mission Control 5.3 版本說明

JDK 8 包含 Java Mission Control 5.3。

看完了這篇文章,相信你對jdk8有什么新特性有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

琼中| 定陶县| 鹿邑县| 桑日县| 微博| 公安县| 成武县| 东丰县| 依兰县| 阳山县| 永安市| 抚顺市| 兴业县| 右玉县| 永善县| 鸡西市| 县级市| 濮阳市| 静海县| 沂源县| 绥江县| 玉树县| 方正县| 会东县| 沙河市| 建德市| 横峰县| 团风县| 绥阳县| 赤水市| 彭州市| 洞口县| 泸溪县| 上蔡县| 霍山县| 寿宁县| 丰镇市| 搜索| 同德县| 平塘县| 灯塔市|