原創翻譯-Java 8新特性

前言

  本篇翻譯自oracle官網的JDK8 新特性,可是並不包含 JavaFx和安全方面的更新。html

JAVA8中的新特性

  Java平臺的標準版第8版本是一個重大的發佈版本。這篇文檔概述了JAVA SE8 和 JDK8中甲骨文的Java SE 8的實現的特性和加強功能。點擊各個模塊的名字能夠看到模塊的加強的詳細信息。java

Java編程語言

  • Lambda表達式是Java 8 中的新增的語言特性,已經被開發到這個版本中。他們容許函數式編程。Lambda容許將函數當作一個參數對待,或者將代碼當作數據對待。Lambda表達式讓你對單方法的實例(功能性接口)更加簡潔。編程

  • Lambda表達式中的方法引用讓已經含有名字的方法更加容易閱讀。api

  • 默認方法容許在接口或者庫中確保舊版本二進制包中接口的兼容性(default關鍵字)。數組

  • 重複註解(@Repeatable)容許一樣的註解註解被重複聲明或者使用屢次。重複註解安全

  • 類型註解如今能夠在任何一處是類型的地方使用。而再也不是聲明的地方。 配合一些可插拔的類型系統(插件,額外引入的包)大大提升了你代碼的類型檢查。
    類型註解網絡

  • 提升了類型推導 java 8 中的類型推導架構

  • 方法參數反射 (Method parameter reflection)

集合

  • java.util.stream 提供了流API以便實現函數風格的流編程操做。流API集成到了集合API中間。對集合中的大塊數據操做,好比排序和併發的 map-reduce 轉換。流API
  • 提升了HashMap中哈希衝突的性能。

可緊湊配置

  可使用配置文件來決定包含預約義的Java SE平臺的子集,並確保應用程序不須要整個平臺部署和而且適合小型設備上運行。併發

Javadoc 工具

  • 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

  pack200支持常量池入口,引入JSR 292規定的新的的字節碼
JDK8 支持 JSR-292, JSR-308 and 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 包

日期與時間

  java8 新增了日期時間包,以便添加支持更普遍的日期-時間模型

JDBC

  • JDBC-ODBC橋接被移除

  • 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 新增長新的類以便支持通用線程池。(docs.oracle.com/javase/8/do…

  • 新增了java.util.concurrent.locks.StampedLock 類,使用三種模式來來控制讀寫訪問。

Java XML - JAXP

HotSpot

  • Intel 平臺支持硬件支持高級加密規範(AES)。必須是2010年之後的機器或者是Westmere架構。啓用使用:-XX:+UseAES -XX:+UseAESIntrinsics
  • 移除了永久帶

Default Methods in the Java Programming Language are supported by the byte code instructions for method invocation.
默認是調用字節碼支持。

JAVA任務控制 Java Mission Control 5.3

   JDK 8 包含了 Java Mission Control 5.3 版本。

原文:www.oracle.com/technetwork…

更多翻譯:

Hotspot 內存管理白皮書

相關文章
相關標籤/搜索