幾乎所有平臺的 JAVA 版本的發佈,都涉及到 JAVA 語言本身和 JVM 的各個方面。 那麼對於 JAVA 7 來說,從 JSR 草稿中,我們得到 JAVA 7 的高層次的目標是:
相容性 ― 任何在以前版本上運行的程式必須能不用做任何改變就能在 JAVA SE 7 中運行; 開發效率 ― 提升開發效率,最小的學習曲線; 性能 ― 新的並行 API 介面,引入了一種真正的非同步 I/O API,使得 I/O 密集 型的應用程式有更好的性能; 適用性 ― 在 JAVA 虛擬機器上能夠加速其他動態語言的性能; 可集成性 ― JAVA SE 7 將會包含一個新的、靈活的檔案系統 API 作為 JSR203 的一部分。
JAVA 7 的基本的新特性
JAVA 語言特性的增強(JSR334)
Project Coin 主要是對 JAVA 語言進行一些小的改進來提高 JAVA HTTP://www.aliyun.com/zixun/aggregation/7155.html">開發人員的工作效率,這些改進有:
Switch 語句中允許使用 String 類型清單 1. Switch 語句中允許使用 String 類型示例
switch(myString) { case 「one」: <do something>; break; case 「two」: <do something else>; break; default: & lt;do something generic>; } 對於通用類型實例的創建提供型別推斷清單 2. 對通用類型實例的創建提供型別推斷示例
Map<String,MyType> foo = new Map<String,MyType>(); Becomes: Map <String,MyType> foo = new Map<>(); } Multi Catch 來處理多種異常類型清單 3. Multi Catch 來處理多種異常類型示例
JAVA 6: Try { ... } catch(Exception a){ handle(a); } catch(Error b) { handle(b); } JAVA 7: Try { ... } catch(Exception | Error a) { handle(a); } 二進位常量和數位常量示例
0b10011010 34_409_066
自動的資源管理機制
在 JAVA 程式中,處理所有可能的失敗路徑是困難的,關閉資源也是相對困難的,因此在 JAVA 7 的實現中,資源管理獲得了編譯器的説明,通過定義一個在資源上介面使得編譯器能夠自動在合適的時候來關閉資源,釋放記憶體等資源。
自動資源管理示例
try(InputStream inFile = new FileInputStream(aFileName); OutputStream outFile = new FileOutputStream(aFileName)) { byte[] buf = new byte[BUF_SIZE]; int readBytes; while ((readByte s = inFile.read(buf)) >= 0) inFile.write(buf, readBytes); }