❶ java se8的新特性有哪些
java se8新特性如下:
Java Programming Language
1、lambda expressions,一個新的語言特性,它可以將功能作為方法的參數or代碼作為數據,它使你表達單一方法介面的實例更加簡潔。
2、對已經有方法名的方法提供一個更加可讀的lambda expressions為方法的引用。
3、默認方法使新的功能添加到庫的介面,確保與舊版本的介面編寫的代碼的二進制兼容
4、重復註解提供不止一次應用同樣的註解類型
5、類型註解提供應用註解的能力,任何一個類型的使用,不僅在聲明上使用。用於一個可插拔式的系統,此功能提高你代碼的類型檢查。
6、提高類型的推斷
7、方法參數的反射
Collections
1、新的java.util.stream包,提供了stream api支持流元素上的功能性操作。stream api集成到collections api中,使用批量操作,如串列or並行 map-rece 轉換。
2、使用key collisions改進HashMap的性能
compact profiles
包含java SE平台預定義的子集和使不需要整個平台被部署和運行在小型設備中的應用
security
1、客戶端默認啟用TLS1.2
2、新的AccessController.doPrivileged,用代碼斷言它的privileges的子集,沒有防止全棧遍歷時檢查其他許可權
3、更強的基於密碼的加密演算法
4、SSL/TLS SNI擴展在jsSE伺服器中支持
5、支持AEAD演算法:SunJCE提供增強的支持AES / GCM / nopadding密碼的實現以及GCM演算法參數,SunJSSE提供基於密碼套件的AEAD模式增強
6、keystore增強,包含新的keystore類型java.security.DomainLoadStoreParameter,和新的命令行選項-importpassword
7、SHA-224 Message Digests
8、NSA Suite B加密支持
9、更好的支持High Entropy 隨機數生成
10、新的java.security.cert.PKIXRevocationChecker類為配置撤銷X.509證書
11、win下64-bit PKCS11
12、新的rcache 類型在Kerberos 5 Replay Caching
13、支持Kerberos 5協議轉換和約束代理
14、默認禁用Kerberos 5弱的加密
15、未綁定SASL為GSS-API/Kerberos 5機制
16、多主機名下SASL服務
17、在Mac OS X上JNI橋接到native JGSS
18、在sunjsse提供更強的實力,EDH鍵的支持
19、在JSSE支持伺服器端密碼套件個性設置
JavaFX
1、新Modena theme實現
2、新SwingNode類容許開發者嵌套Swing內容到javaFX應用中
3、新UI Controls 包含DatePicker 和TreeTableView
4、javafx.print包為JavaFX提供公共printing API
5、三維圖形特性,目前包含3D shapes、camera、lights、subscene、material、picking和antialiasing
6、WebView類提供的新功能和改進,支持更多關於HTML5的特性,Web Scokets,Web Workers和Web Fonts
7、增強文本的支持
8、支持Hi-DPI 顯示
9、css樣式類變成公共API
10、新的ScheledService類允許自動重啟服務
11、ARM平台可用JavaFX
tools
1、jjs命令調用Nashorn引擎
2、java命令允許JavaFX應用
3、java man page已經更新
4、jdeps命令行工具提供分析類文件
5、Java Management Extensions (JMX) 提供遠程診斷命令
6、jarsiger工具可選,從TSA請求簽名時間抽
7、javac tool
7.1、-parameters選項存儲正式的參數名和反射API檢索正式參數的名稱
7.2、JLS 15.21相等操作的類型規則通過javac命令正確的執行
7.3、javac工具現在支持檢查javadoc注釋的內容,該特性通過-Xdoclint選項
7.4、javac工具現在提供生成native header的能力。移除javah工具,通過javac的-h選項使用
8、javadoc tool
8.1、javadoc工具支持新DocTree API
8.2、javadoc工具支持新的javadoc 訪問API,允許在java 應用直接調用javadoc 工具,沒有執行新的進程
8.3、javadoc工具現在支持檢查javadoc注釋的內容,該特性通過-Xdoclint選項
Internationalization
1、unicode增強,支持unicode6.2.0
2、採用unicode CLDR數據和java.locale.providers 系統屬性
3、新的Calendar和Locale APIs
4、安裝一個自定義的資源包作為一個擴展的能力
Deployment
1、對sandbox applet和 java web start app,URLPermission現在是用來允許連接到伺服器從它們啟動完成後。SocketPermission不再授權
2、在所有安全級別,在主要jar文件的jar文件的manifest中必須給定許可權屬性
Date-Time Package
一個新的軟體包,提供更加全面的日期-時間模型
Scripting
Nashorn js 引擎
Pack200
1、Pack200支持常量池條目和由JSR 292引入了新的位元組碼
2、JDK8支持由JSR-292, JSR-308 and JSR-335指定類文件的變化
IO and NIO
1、基於Solaris在Solaris事件埠機制實現新的SelectorProvider。使用系統屬性java.nio.channels.spi.Selector設置的值sun.nio.ch.EventPortSelectorProvder運行
2、減少<JDK_HOME>/jre/lib/charsets.jar文件中數量
3、提高java.lang.String(byte[], *)構造器和java.lang.String.getBytes()方法的性能
java.lang and java.util.Pack ages
1、並發的數組排序
2、標準的編碼和解碼Base64
3、無符號運算的支持
JDBC
1、移除JDBC-ODBC橋
2、JDBC4.2引入新的功能
Java DB
1、JDK8 包含 Java DB 10.10
Networking
1、添加java.net.URLPermission類
2、在java.net.HttpURLConnection中,如果安裝安全管理,請求要求打開一個連接請求的許可權
Concurrency
1、在java.util.concurrent包中新增類和介面
2、java.util.concurrent.ConcurrentHashMap類添加方法支持聚合操作,基於新的流設施和lambda expressions
3、java.util.concurrent.atomic包中添加類支持可擴展可更新的變數
4、 java.util.concurrent.ForkJoinPool類中添加方法支持通用池
5、 java.util.concurrent.locks.StampedLock類已經添加使用3種模式控制讀/寫訪問的基於能力的鎖
Java XML – JAXP
HotSpot
1、硬體特性增加了AES,UseAES和UseAESIntrinsics標簽在打開基於硬體AES可用(Inter 硬體),硬體必須是2010或更新Westmere硬體,如:打開硬體AES,使用下面標記
-XX:+UseAES -XX:+UseAESIntrinsics
關閉硬體AES:
-XX:-UseAES -XX:-UseAESIntrinsics
2、移除PermGen
3、通過為方法調用引入位元組碼指令支持默認方法