JAVA技術
  當前位置:首頁 > 技術支持 > JAVA技術
JDK 8中的(de)新功能
發布時(shí)間:2017-09-07 浏覽:3032次
  

JDK 8中的(de)新功能


Java Platform,Standard Edition 8是一個(gè)主要的(de)功能版本。本文檔總結了(le)Java SE 8和(hé)JDK 8中的(de)Java SE 8的(de)實現的(de)功能和(hé)增強功能。單擊組件名稱以獲取該組件的(de)增強功能的(de)更詳細描述。

  • Java編程語言

    • 這(zhè)個(gè)版本中引入了(le)Lambda表達式,一種新的(de)語言特性。它們使您能夠将功能視爲方法參數或代碼作爲數據。Lambda表達式可(kě)以更緊湊地表示單方法接口(簡稱功能接口)的(de)實例。

    • 方法引用(yòng)爲已經有名稱的(de)方法提供了(le)易于閱讀的(de)lambda表達式。

    • 默認方法允許将新功能添加到庫的(de)接口,并确保與舊(jiù)版本的(de)這(zhè)些接口編寫的(de)代碼的(de)二進制兼容性。

    • 重複注釋提供了(le)将相同的(de)注釋類型多(duō)次應用(yòng)于相同的(de)聲明(míng)或類型使用(yòng)的(de)能力。

    • 類型注釋提供了(le)在使用(yòng)類型的(de)任何位置應用(yòng)注釋的(de)功能,而不僅僅是聲明(míng)。與可(kě)插拔型系統一起使用(yòng),此功能可(kě)以改進代碼的(de)類型檢查。

    • 改進型推理(lǐ)。

    • 方法參數反映。

  • 集合

    • java.util.stream中的(de)類提供了(le)一個(gè)Stream API,以支持元素流上的(de)功能樣式操作。Stream API集成到Collections API中,它可(kě)以對(duì)集合進行批量操作,例如順序或并行映射減少轉換。

    • 具有重大(dà)沖突的(de)哈希圖的(de)性能改進

  • 緊湊型配置文件包含Java SE平台的(de)預定義子集,并允許不需要整個(gè)平台的(de)應用(yòng)程序在小型設備上部署和(hé)運行。

  • 安全

    • 客戶端TLS 1.2默認啓用(yòng)

    • 新的(de)變體AccessController.doPrivileged使代碼能夠斷言其特權的(de)一個(gè)子集,而不會阻止堆棧的(de)完整遍曆來(lái)檢查其他(tā)權限

    • 更強大(dà)的(de)基于密碼加密的(de)算(suàn)法

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

    • 支持AEAD算(suàn)法:增強了(le)SunJCE提供程序,以支持AES / GCM / NoPadding加密實現以及GCM算(suàn)法參數。并且SunJSSE提供商被增強以支持基于AEAD模式的(de)密碼套件。請參閱Oracle提供商文檔JEP 115。

    • KeyStore增強功能,包括新的(de)Domain KeyStore類型java.security.DomainLoadStoreParameter,以及-importpasswordkeytool實用(yòng)程序的(de)新命令選項

    • SHA-224消息摘要

    • 增強對(duì)NSA Suite B加密技術的(de)支持

    • 更好地支持高(gāo)熵随機數生成

    • java.security.cert.PKIXRevocationChecker用(yòng)于配置X.509證書(shū)的(de)撤銷檢查的(de)

    • 适用(yòng)于Windows的(de)64位PKCS11

    • Kerberos中的(de)新的(de)rcache類型5重播緩存

    • 支持Kerberos 5協議(yì)轉換和(hé)約束授權

    • 默認情況下(xià)禁用(yòng)Kerberos 5弱加密類型

    • 爲GSS-API / Kerberos 5機制取消綁定SASL

    • SASL服務用(yòng)于多(duō)個(gè)主機名

    • JNI橋接于Mac OS X上的(de)本機JGSS

    • 支持SunJSSE提供商更強大(dà)的(de)短暫DH密鑰

    • 在JSSE中支持服務器端密碼套件偏好定制

  • JavaFX的(de)

    • 新的(de)摩德納主題已在本版本中實施。有關更多(duō)信息,請參閱fxexperience.com上的(de)博客

    • SwingNode類使開發人(rén)員(yuán)可(kě)以将Swing内容嵌入到JavaFX應用(yòng)程序中。請參閱JavaFX應用(yòng)程序中的(de)SwingNodejavadoc和(hé)Embedding Swing内容

    • 新的(de)UI控件包括DatePicker和(hé)TreeTableView控件。

    • javafx.print包爲JavaFX Printing API提供了(le)公共類。有關詳細信息,請參閱javadoc

    • 3D圖形功能現在包括3D形狀,相機,燈光(guāng),素材,材質,采摘和(hé)抗鋸齒。新的(de)Shape3DBoxCylinderMeshView,和(hé)Sphere子類), ,SubSceneMaterialPickResult 和(hé)子類),以及API類已添加到JavaFX的(de)3D圖形庫。API類也(yě)已在此版本更新。請參見相應的(de)類Javadoc ,和(hé)入門JavaFX的(de)3D圖形文件。LightBaseAmbientLightPointLightSceneAntialiasingCamerajavafx.scene.shape.Shape3Djavafx.scene.SubScenejavafx.scene.paint.Materialjavafx.scene.input.PickResultjavafx.scene.SceneAntialiasing

    • WebView課程提供了(le)新的(de)功能和(hé)改進。查看HTML5的(de)支持功能,了(le)解有關其他(tā)HTML5功能的(de)更多(duō)信息,包括Web套接字,Web Workers和(hé)Web字體。

    • 增強的(de)文本支持,包括雙向文本和(hé)複雜(zá)文本腳本,如控件中的(de)泰語和(hé)印地語,以及文本節點中的(de)多(duō)行多(duō)文本文本。

    • 此版本中添加了(le)Hi-DPI顯示器的(de)支持。

    • CSS Styleable *類成爲公共API。有關javafx.css詳細信息,請參閱javadoc。

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

    • JavaFX現在可(kě)用(yòng)于ARM平台。JDK for ARM包括JavaFX的(de)基礎,圖形和(hé)控件組件。

  • 工具

    • jjs命令用(yòng)于調用(yòng)Nashorn引擎。

    • java命令啓動JavaFX應用(yòng)程序。

    • java手冊頁已重新加工。

    • 提供jdeps命令行工具用(yòng)于分(fēn)析類文件。

    • Java管理(lǐ)擴展(JMX)提供對(duì)診斷命令的(de)遠(yuǎn)程訪問。

    • jarsigner工具具有從時(shí)間戳局(TSA)請求簽名的(de)時(shí)間戳的(de)選項。

    • Javac工具

      • 命令的(de)-parameters選項javac可(kě)用(yòng)于存儲形式參數名稱,并啓用(yòng)Reflection API以檢索形式參數名稱。

      • Java語言規範(JLS)第15.21節中的(de)等效運算(suàn)符的(de)類型規則現在由javac命令正确執行

      • javac工具現在支持檢查javadoc可(kě)能導緻javadoc運行時(shí)生成的(de)文件中的(de)各種問題(如無效的(de)HTML或輔助功能問題)的(de)問題的(de)内容該功能由新-Xdoclint選項啓用(yòng)有關詳細信息,請參閱運行“ javac -X” 的(de)輸出此功能也(yě)可(kě)在該javadoc工具中使用(yòng),并在默認情況下(xià)啓用(yòng)。

      • javac工具現在可(kě)以根據需要提供生成本機頭文件的(de)功能。這(zhè)不需要javah在構建管道中作爲單獨的(de)步驟運行該工具。javac通(tōng)過使用(yòng)新-h選項啓用(yòng)該功能,該選項用(yòng)于指定要在其中寫入頭文件的(de)目錄。将爲任何具有原生方法的(de)類或者使用(yòng)新的(de)注釋類型注釋的(de)常量字段生成頭文件java.lang.annotation.Native

    • Javadoc工具

      • javadoc工具支持新的(de)DocTreeAPI,使您可(kě)以将Javadoc注釋作爲抽象語法樹遍曆。

      • javadoc工具支持新的(de)Javadoc Access API,使您可(kě)以直接從Java應用(yòng)程序調用(yòng)Javadoc工具,而無需執行新的(de)進程。有關更多(duō)信息,請參閱javadoc的(de)新頁面。

      • javadoc工具現在支持檢查javadoc可(kě)能導緻javadoc運行時(shí)生成的(de)文件中的(de)各種問題(如無效的(de)HTML或輔助功能問題)的(de)問題的(de)内容默認情況下(xià)啓用(yòng)該功能,也(yě)可(kě)以通(tōng)過新-Xdoclint選項進行控制有關詳細信息,請參閱運行“ javadoc -X” 的(de)輸出該功能也(yě)可(kě)在該javac工具中使用(yòng),但默認情況下(xià)不啓用(yòng)該功能

  • 國際化(huà)

    • Unicode增強功能,包括支持Unicode 6.2.0

    • 采用(yòng)Unicode CLDR數據和(hé)java.locale.providers系統屬性

    • 新日曆和(hé)區(qū)域設置API

    • 将自定義資源包安裝爲擴展的(de)能力

  • 部署

    • 對(duì)于沙盒小程序和(hé)Java Web Start應用(yòng)程序,URLPermission現在用(yòng)于允許連接返回到啓動它們的(de)服務器。SocketPermission不再授予

    • 在所有安全級别的(de)主JAR文件的(de)JAR文件清單中,Permissions屬性是必需的(de)。

  • 日期時(shí)間包 - 提供全面的(de)日期時(shí)間模型的(de)新套件。

  • 腳本

    • 犀牛JavaScript引擎已被Nashorn Javascript引擎所取代

  • Pack200

    • Pack200支持JSR 292引入的(de)常量池條目和(hé)新字節碼

    • JDK8支持由JSR-292,JSR-308和(hé)JSR-335指定的(de)類文件更改

  • IO和(hé)NIO

    • SelectorProvider基于Solaris事件端口機制的(de)Solaris的(de)實現。要使用(yòng),請将系統屬性java.nio.channels.spi.Selector設置爲值sun.nio.ch.EventPortSelectorProvider

    • 減小<JDK_HOME>/jre/lib/charsets.jar文件的(de)大(dà)小

    • java.lang.String(byte[], *)構造函數和(hé)java.lang.String.getBytes()方法的(de)性能改進

  • java.lang和(hé)java.util包

    • 并行數組排序

    • Base64的(de)标準編碼和(hé)解碼

    • 無符号算(suàn)術支持

  • JDBC

    • JDBC-ODBC Bridge已被删除。

    • JDBC 4.2引入了(le)新功能。

  • Java DB

    • JDK 8包括Java DB 10.10。

  • 聯網

    • 該課程java.net.URLPermission已經添加。

    • 在類中java.net.HttpURLConnection,如果安裝了(le)安全管理(lǐ)器,則請求打開連接的(de)調用(yòng)需要許可(kě)。

  • 并發

    • 類和(hé)接口已添加到java.util.concurrent包中。

    • 方法已經添加到java.util.concurrent.ConcurrentHashMap類中,以支持基于新添加的(de)流設施和(hé)lambda表達式的(de)聚合操作。

    • 已将類添加到java.util.concurrent.atomic包中以支持可(kě)擴展的(de)可(kě)更新變量。

    • 方法已經添加到java.util.concurrent.ForkJoinPool類中以支持公共池。

    • java.util.concurrent.locks.StampedLock班已添加到提供基于能力的(de)鎖有三種模式控制讀/寫訪問。

  • Java XML - JAXP

  • 熱(rè)點

    • 添加硬件内在功能以使用(yòng)高(gāo)級加密标準(AES)。這(zhè)些UseAES和(hé)UseAESIntrinsics标志可(kě)用(yòng)于爲Intel硬件啓用(yòng)基于硬件的(de)AES内在函數。硬件必須是2010年或更早的(de)Westmere硬件。例如,要啓用(yòng)硬件AES,請使用(yòng)以下(xià)标志:

      -XX:+ UseAES -XX:+ UseAESIntrinsics

      要禁用(yòng)硬件AES,請使用(yòng)以下(xià)标志:

      -XX:-UseAES -XX:-UseAESIntrinsics
    • 去除PermGen。

    • Java編程語言中的(de)默認方法由方法調用(yòng)的(de)字節碼指令支持。

  • Java任務控制5.3發行說明(míng)

    • JDK 8包括Java Mission Control 5.3。

 
 
    
 
 
版權所有 © 2005-2024 安徽問法信息技術有限公司  
地址:安徽省合肥市蜀山區(qū)望江西路69号西湖國際廣場(chǎng) 電話(huà):0551-64935878 郵箱:admin@ajsoft.cn