1. 程式人生 > >JDk以及各個版本的區別

JDk以及各個版本的區別

jdk1.5的新特性:
1. 泛型
   ArrayList list=new ArrayList()------>ArrayList<Integer>list=new ArrayList<Integer>();
2 自動裝箱/拆箱
   nt i=list.get(0).parseInt();-------->int i=list.get(0);原始型別與對應的包裝類不用顯式轉換
3 for-each
   i=0;i<a.length;i++------------>for(int i:a){......}
4 static import
   Math.sqrt();--------------->sqrt();

5 變長引數
   int sum(int ...intlist)有任意個引數,把他看作陣列


jdk1.6的新特性
1.增強的for迴圈語句
Integer[] numbers = computeNumbers();
for (int i=0; i < numbers.length ; i++)
sum += numbers[i];
||
int sum = 0;
for ( int number: computeNumbers() )
sum += number;
2.監視和管理
Java SE 6中對記憶體洩漏增強了分析以及診斷能力。當遇到java.lang.OutOfMemory異常的時候,可以得到一個完整的堆疊資訊,

並且當堆已經滿了的時候,會產生一個Log檔案來記錄這個致命錯誤。另外,JVM還添加了一個選項,允許你在堆滿的時候執行指令碼。
3.插入式註解處理
插入式註解處理API(JSR 269)提供一套標準API來處理Annotations
4.安全性


jdk1.7的新特性
1.模組化特性
Java7也是採用了模組的劃分方式來提速,一些不是必須的模組並沒有下載和安裝,當虛擬機器需要的時候,再下載相應的模組,
同時對啟動速度也有了很大的改善。
2.多語言支援
Java7的虛擬機器對多種動態程式語言增加了支援,比如:Rubby、 Python等等。
3.開發者的開發效率得到了改善
switch中可以使用字串
在多執行緒併發與控制方面:輕量級的分離與合併框架,一個支援併發訪問的HashMap等等。

通過註解增強程式的靜態檢查。
提供了一些新的API用於檔案系統的訪問、非同步的輸入輸出操作、Socket通道的配置與繫結、多點資料包的傳送等等。
4.執行效率的提高
對物件指標由64位壓縮到與32位指標相匹配的技術使得記憶體和記憶體帶塊的消耗得到了很大的降低因而提高了執行效率。
提供了新的垃圾回收機制(G1)來降低垃圾回收的負載和增強垃圾回收的效果。