本篇翻譯自oracle官網的JDK8 新特性,可是並不包含 JavaFx和安全方面的更新。html
Java平臺的標準版第8版本是一個重大的發佈版本。這篇文檔概述了JAVA SE8 和 JDK8中甲骨文的Java SE 8的實現的特性和加強功能。點擊各個模塊的名字能夠看到模塊的加強的詳細信息。java
Lambda表達式是Java 8 中的新增的語言特性,已經被開發到這個版本中。他們容許函數式編程。Lambda容許將函數當作一個參數對待,或者將代碼當作數據對待。Lambda表達式讓你對單方法的實例(功能性接口)更加簡潔。編程
Lambda表達式中的方法引用讓已經含有名字的方法更加容易閱讀。api
默認方法容許在接口或者庫中確保舊版本二進制包中接口的兼容性(default關鍵字)。數組
重複註解(@Repeatable)容許一樣的註解註解被重複聲明或者使用屢次。重複註解安全
類型註解如今能夠在任何一處是類型的地方使用。而再也不是聲明的地方。 配合一些可插拔的類型系統(插件,額外引入的包)大大提升了你代碼的類型檢查。
類型註解網絡
提升了類型推導 java 8 中的類型推導架構
可使用配置文件來決定包含預約義的Java SE平臺的子集,並確保應用程序不須要整個平臺部署和而且適合小型設備上運行。併發
javadoc工具支持新的DocTree API,使您能夠像抽象語法樹同樣遍歷 javadoc註釋。oracle
javadoc 工具使用了新的 Javadoc 訪問API,使得能夠直接在應用程序內部直接使用Java Doc工具,而不用新開闢一個線程。訪問javadoc新特性頁面獲取更多信息。
javadoc 工具如今支持對javadoc運行期間對生成註釋檢查,好比在生成的註釋中間出現的非法HTML語法和可訪問性問題。這個特性是默認開啓,也能夠由新的-X doclint選項控制。有關詳細信息,請參見運行javadoc - x」的輸出。這個功能也在javac工具中,儘管它在默認狀況下不啓用。
支持更高級別的 Unicode,包括 Unicode 6.2.0
提供 Unicode CLDR 和 java.locale.providers 的系統屬性
新的 日曆和 本地化API
容許使用自定義資源包。
Rhino JavaScript
腳本引擎被移除, 取而代之的是Nashorn JavaScript
腳本引擎。
pack200支持常量池入口,引入JSR 292規定的新的的字節碼
JDK8 支持 JSR-292, JSR-308 and JSR-335 所指定的類文件的變化。
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()
方法的性能。數組排序併發
標準的Base64的編碼和解碼
無符號整形或者長整形的支持(blogs.oracle.com/darcy/entry…
java8 新增了日期時間包,以便添加支持更普遍的日期-時間模型
JDBC-ODBC橋接被移除
JDBC 4.2新特性
JDK 8 包含了Java DB 10.10。
java.util.concurrent 包新增了一些類和接口。
java.util.concurrent.ConcurrentHashMap 新增方法以便支持流式操做與lambda 表達式。
java.util.concurrent.atomic 增長新的類,以便支持可伸縮,可更新的變量。
java.util.concurrent.ForkJoinPool 新增長新的類以便支持通用線程池。(docs.oracle.com/javase/8/do…
新增了java.util.concurrent.locks.StampedLock 類,使用三種模式來來控制讀寫訪問。
Default Methods in the Java Programming Language are supported by the byte code instructions for method invocation.
默認是調用字節碼支持。
JDK 8 包含了 Java Mission Control 5.3 版本。
原文:www.oracle.com/technetwork…