轉載自:http://www.javalord.com/javalordblog/?p=349
java SE 7規範(又名JDK 7)開發進展很順利,計劃于2011年夏天釋出最終版本。為了讓開發者能夠友善快速地一覽JDK 7中的所有重要元素,Developer.com發表了JDK 7 Reference Card,為開發者提供參考。
JSR203:JDK中會更多的IO API(“NIO.2”) | |
通路檔案系統 | 與之前的JDK中通過java.io.File通路檔案的方式不同,JDK7将通過java.nio.file包中的類完成。JDK7會使用java.nio.file.Path類來操作任何檔案系統中的檔案。(這裡說的任何檔案系統指的是可以使用任何檔案存儲方式的檔案系統) 示例: Java7之前 File file = new File(“some_file”); 使用Java7 Path path = Paths.get(“some_file”); 在File類中加入了新的方法toPath(),可以友善的轉換File到Path Path path = new File(“some_file”).toPath(); |
Socket通道綁定和配置 | 在JDK7中面向通道的網絡程式設計也得以更新!JDK7中可以直接綁定通道的socket和直接操作socket屬性。JDK7提供了平台socket屬性和指定實作的socket屬性。
|
靈活的異步I/O | 可以通過真正的異步I/O,在不同的線程中運作數以萬計的流操作!JKD7提供了對檔案和socket的異步操作。一些JDK7中的新通道:
|
JSR292:Java平台中的動态程式設計語言 |
Da Vinci Machine項目(JSR292)的主旨是擴充JVM支援除Java以外的其它程式設計語言,尤其是對動态程式設計語言的支援。所支援的語言必須和Java一樣不收到歧視并共同存在。 |
JSR334:Java語言的一些改進 |
OpenJDK項目的創造(JSR334)的主旨是對Java語言進行一些小的改進來提高每天的Java開發人員的工作。這些改進包括:
|
JSR119:Java編譯器API |
JSR199是在JDK6中加入的,主要用來提供調用Java編譯器的API。除了提供javac的指令行工具,JSR199提供Java編譯器到程式互動的能力。Java編譯器API要達到三個目标:
|
JSR206:Java XML處理的API (JAXP) |
JSR206即Java API for XML Processing(JAXP),是Java處理XML文檔的一個與實作無關,靈活的API。 JAXP1.3的主要特性包括:
|
綁定技術(JAXB) |
JSR222即Java Architecture for XML Binding(JAXB)。JAXB的目的是便于Java程式進行Java類到XML文檔的映射。 JAXB2的主要特性:
|
JSR224:基于XML的Web服務API(JAX-WS) |
JSR224即Java API for XML-based Web Services(JAX-WS),是一個基于Annotation标注的程式設計模型,主要針對Web Service應用和用戶端開發。 JAX-WS2的主要特性包括:
|
可插拔的Annotation處理API |
JSR269即Pluggable Annotation-Processing API
|
小的改進 | |
java.util.Objects | 提供了一套9個靜态方法。其中兩個方法用來檢測目前對象是null還是非null。兩個方法用來提供生成toString()字元串同時支援null對象。兩個用來處理hash的方法。兩個方法用來處理equals。最後一個compare方法用來進行比較。 |
Swing JLayer元件 | JXLayer是一個元件裝飾器,提供了用來裝飾多個組合元件的方式,并且可以捕獲所有滑鼠、鍵盤和FocusEvent的事件,并針對所有的XLayer子元件。這個元件隻會對public swing的api起作用,對全局設定沒有作用,例如對EventQueue或者RepaintManager。(除了這些,Swing還将在JDK7中提供JXDatePicker和CSS方式樣式) |
并發和集合API | JSR166,并發和集合API提供了靈活的異步處理,并發HashMap,傳輸隊列和輕量級的fork/join架構以及本地線程方式的僞随機數生成器。 |
類加載器體系結構 | 類加載器已經更新到了可以在無等級類加載器拓撲中避免死鎖。JDK7中包含了一個對于多線程自定義類加載器的增強實作,名字為具有并行能力的類加載器。使用平行能力的類加載器加載class,會同步到類加載器和類名。 |
Locale類的改進 | Java Locale避免由于小的變化導緻資料丢失。除此,Locale應該提供更多的特性,例如IETF BCP 47和UTR 35(CLDR/LDML)。 |
分離使用者Locale和使用者接口Locale | JDK7分離了UI語言的locale和格式化locale,這個已經在Vista之後的windows系統中實作了。 |
嚴格的類檔案檢測 | 通過JavaSE6的規範,version51(SE7)的類檔案和之後的版本必須通過類型檢測來檢驗。對于老的推理驗證VM不可以宕掉 |
Elliptic-Curve Cryptography (ECC)橢圓曲線加密 | 從JDK7開始,Java提供對标準的ECC算法的靈活實作(基于橢圓曲線的公鑰加密算法) |
Swing中的Nimbus外觀 | Nimbus是JDS(Java Desktop System)中的新外觀。這個也是Solaris11的GTK主題 |
Java2D中的XRender Pipeline | JDK7中加入了基于X11 XRender擴充的Java2D圖形管道。這将提供更多的對于目前先進的GPUs通路的功能。 |
TLS1.2 | TLS (Transport Layer Security)是一個用在Internet上的資料傳輸安全協定,用來避免監聽、引誘和消息僞造。TLS的主要目的是提供兩個應用間通信的隐私和資料完整。TLS是RFC5246标準,在JDK7中提供1.2 |
JDBC4.0/4.1 | JDBC4.1特性隻在JDK7或者更高版本中存在。JDBC4.1隻是對JDBC4.0進行較小的改動。關于一些JDBC4.0/4.1的特性:
|
透明窗體和異形窗體 | 為了6u10版本的圖形處理,JDK提供了透明效果的支援(簡單透明和像素透明)并且提供了對于異形窗體的支援(可以将窗體設定成任意形狀),輕重混合并且增強了AWT安全警告。透明效果和異形窗體是通過com.sun.awt.AWTUtilities類實作的。 |
Unicode6.0 | Unicode6.0提供了諸如2.088字元集、對已經存在字元集的屬性改進、格式化改進以及新的屬性和資料檔案。 JDK7已經更新到對Unicode6.0的支援。 |
要來關閉URLClassLoader的方法 對JMX代理和MBeans的改進 | 通過URLClassLoader,應用可以通過URL搜尋路徑來加載類和資源。JKD7提供了close()新方法來幫助URLClassLoader清理資源。 這個改進來至于JRockit,可以友善連接配接平台。MBean伺服器可以通過防火牆提供一套MBeans,這些暴露了VM中的一些内部操作的資訊 |
新的垃圾回收器 | JDK7提供了新的垃圾回收器,針對目前的CMS垃圾回收器,這将會讓垃圾回收器有更少的停頓時間和更高的語言效果。 |
改進的JSR |
JSR901:Java Language Specification(JLS)Java語言計劃 |
|
JSR924:JVM平台規範 |
|
Java SE API |
|
延期到JDK8或者之後的規範 |
|
JDK7手冊參考卡片英文原版下載下傳:http://www.javalord.com/download/7721_JDK7RefCard.pdf
JDK7手冊參考卡片中文翻譯下載下傳:http://www.javalord.com/download/JDK7 Ref Card_cn.pdf