Java7 新特性集合(中文版)
Java7平台標準版文檔
甲骨文有兩個產品實現Java平台標準版(Java SE)7:Java SE的開發套件(JDK),7和Java SE的運行環境(JRE)7。
JDK 7中的JRE 7的一個超集,並包含在JRE 7的一切,再加上開發applets和應用程式所必需的編譯器和調試器等工具。 JRE7提供了類庫,Java虛擬機器(JVM),和其他運行使用Java程式設計語言編寫的applets和應用程式所需的組件。
下面的概念圖說明了Java組件技術:
文檔之“新”
文檔定期更新,以提供在Java平台上的新功能的深入瞭解資訊的開發。一些最近的更新包括:
1.Swing
包括以下主題:
JLayerClass Swing包中的新組件,可支援自訂繪製
NimbusLook & Feel Swing包中最新的U組件,可支援自訂皮膚
Heavyweightand Lightweight Components Swing包中的最新屬性,可實現透明和半透明表單
Shapedand Translucent Windows Swing包中的最新組件,可實現自訂形狀表單
Hue-Saturation-Luminance(HSL) Color Selectionin JColorChooser Class 色彩選取器,可支援色彩飽和度和亮度
Image 1NimbusLook & Feel
Image 2TranslucentWindow
Image 3GradientWindow
Image 4ShapedWindow
Image 6 InternalFrameMixingFixed
2. Java SE 7的網路增強
URLClassLoader.close方法已被添加。這種方法有效地消除了如何支援從一個特定的程式碼程式庫,特別是在JAR檔案中載入的類和資源更新的實現的問題。有關更多資訊,請參閱合為URLClassLoader。
通訊端直接協議(SDP)提供獲得高效能的網路連接;在Java教程,請參閱瞭解通訊端直接協議。
3. JavaSE 7在Collections Framework的增強
已加入TransferQueue介面,這是一個完善的BlockingQueue介面。類LinkedTransferQueue實現TransferQueue的介面。
4. 用戶端JRE 效能– 快速參考
Java的豐富互連網應用程式(RIA)技術日趨成熟。在每一個Java運行時環境(JRE)軟體版本的新功能被添加。此快速參考說明您跟上充滿活力的技術和實施工作在所有版本的用戶端JRE軟體優雅的RIA解決方案。快速參考提供有關在每個版本的JRE軟體與Java SE 6 update 10的發布開始中添加了重要的功能的資訊。
視窗拖動的applet可以裝飾一個預設或自訂的標題;看到請求和自訂可拖動的小程式Applet的裝飾。以下增強功能已JNLP檔案的文法; JNLP檔案文法:(1)OS元素現在可以包含特定版本的Windows,如Windows Vista或Windows 7,在資訊和資源的屬性。 (2)的應用程式可以使用在快捷元素的安裝屬性,指定要安裝他們的願望。安裝的應用程式的JavaWeb Start緩衝被清除時刪除,但可以明確地使用Java控制台刪除。(3)的Java Web Start應用程式可以部署不指定codebase屬性;無程式碼程式庫部署JNLP檔案可以被嵌入到一個HTML頁面;
JNLP檔案中嵌入applet標籤。
您可以檢查applet的狀態變數,而它載入,以確定是否該applet是準備從JavaScript代碼來處理請求;處理與事件處理常式的初始化狀態。
您現在的控制視窗的裝修風格,並從捷徑啟動一個applet的標題,或一拖再拖的瀏覽器;看到請求和定製開發可拖動的小程式Applet的裝飾。
5. Java XML 技術增強
本版本中包含的JavaAPI,用於XML處理(JAXP)1.4.5支援Java用於XML綁定(JAXB)的2.2.3的架構,並支援Java API的XML Web服務(JAX - WS的)2.2.4。
6.
java.lang 包
潛在的死結多線程,非分層委託定製的類載入器被淘汰;見多線程在Java SE 7的自訂類載入器。
7.JAVA 虛擬機器
非Java語言的Java虛擬機器支援Java SE7中引入了一個新的JVM指令,它簡化了在JVM上的動態類型程式設計語言的實施。
垃圾收集器是一個伺服器式的垃圾收集器,它取代並發標記 - 清除收集(CMS)的。
Java HotSpot虛擬機器效能增強
8.
Java I/O
java.nio.file包和其相關的包,java.nio.file.attribute,提供訪問檔案系統的檔案I / O和全面的支援;看到檔案的I / O(特色NIO.2)。 NIO的代表為非阻塞I / O。 (1)目錄<Java home> /樣本/ NIO / chatserver /包含樣本示範java.nio.file包中包含新的API。 (2)目錄<Java home> /示範/ NIO / zipfs /包含NIO.2的NFS(網路檔案系統)檔案系統的樣本示範。
9.
安全
9.1 一個已添加新的本地供應商提供了幾種基於ECC演算法(ECDSA / ECDH);看到SUN的PKCS#11提供的支援演算法在Java中的PKCS#11參考指南。
9.2 弱密碼編譯演算法現在可以被禁用的,見附錄D:禁用密碼編譯演算法的PKI的Java程式員指南和禁用密碼編譯演算法(Disabled Cryptographic Algorithms)在Java安全通訊端擴充(JSSE)的參考指南。 SSL /TLS的相關
9.3 Various增強功能已被添加到Java安全通訊端擴充。
10.
並發
fork/ join架構,這是基於對ForkJoinPool類,Executor介面的一個實現。它的設計,有效地運行一個大量使用的背景工作執行緒池的任務。一個“工作竊取技術”是用來保持忙碌的所有背景工作執行緒,充分利用多個處理器。查看的fork /join Java教程。 目錄<Java home> /樣本/ forkjoin /包含樣品,示範的fork / join架構。
ThreadLocalRandom類無需使用偽隨機數的線程之間的爭,見並發隨機數。
Phaser類是一個新的同步的障礙,類似的CyclicBarrier。
11.
Java 2D
新的基於XRender -Java 2D渲染管線,支援現代的基於X11的案頭,提供圖形效能,在系統屬性中看到的Java 2D技術xrender標誌。
現在的JDK列舉和顯示通過的方法,如GraphicsEnvironment.getAvailableFontFamilyNames安裝的OpenType /CFF字型,這些字型也能被Font.createFont方法識別。見選擇字型索引。
TextLayout的類支援藏文。
libfontconfig,字型配置API,用於選擇字型,使用Linux的一些實現的邏輯字型;見Fontconfig索引。
12.
國際化
Unicode 6.0.0被支援了,見Java教程的Unicode。目錄<Java home> / demo/jfc/Font2DTest /包含了示範Java的Unicode 6.0的支援得例子。
Java SE 7中可以容納其ISO4217代碼確定了新的貨幣,詳見Currency類。
13.
Java 程式設計語言
以下增強功能已被添加到Java語言:
1. 二進位類型。
2. 在數值類中使用底線。
3. 在switch語句中使用字串。
4. 泛型執行個體建立的類型推斷。
5. 實現了當使用可變方法做泛型的非具體化類型時編譯器警告和報錯。
6. try-with-resources異常處理。
6. 捕獲多個異常類型和重新拋出改良型檢測異常。
14.
JDBC 4.1
JDBC4.1引入了以下特點:
增添了使用一個try-with-resources語句自動關閉Connection,ResultSet,andStatement類型資源的功能。詳見ProcessingSQL
Statements.下的ClosingConnections 索引。
RowSet的1.1:引進的RowSetFactory介面和RowSetProvider類,這使你通過JDBC驅動程式建立row sets的所有類型。詳見UsingJdbcRowSet Objects中的Using
theRowSetFactory Interface。