1. 程式人生 > >jdk1.5,jdk1.6,jdk1.7新特性

jdk1.5,jdk1.6,jdk1.7新特性

JDK1.5

1、靜態匯入 import Static java.lang.Math.max

2、可變引數:overload過載,override重寫,只能出現在引數列表的最後(...位於引數型別和引數名之間,)

     add(int x,int  ... args){}

3、增強for迴圈for(int i:args)

4、基本資料型別的自動拆箱和裝箱Integer obj=3(自動裝箱)(obj+12)(自動拆箱)

5、列舉:引數只能是自定義的裡面值的其中之一

6、註解:

7、泛型

JDK1.6新特性:

       一:Desktop類和SystemTray類
  在JDK1.6中,AWT新增加了兩個類:Desktop和SystemTray。
  前者可以用來開啟系統預設瀏覽器瀏覽指定的URL,開啟系統預設郵件客戶端給指定的郵箱發郵件,用預設應用程式開啟或編輯檔案(比如,用記事本開啟以txt為字尾名的檔案),用系統預設的印表機列印文件;後者可以用來在系統托盤區建立一個托盤程式。
  二:使用JAXB2來實現物件與XML之間的對映


  JAXB是Java Architecture for XML Binding的縮寫,可以將一個Java物件轉變成為XML格式,反之亦然。
   三:理解StAX
  StAX(JSR 173)是JDK1.6.0中除了DOM和SAX之外的又一種處理XML文件的API。
    SAX也是基於事件處理xml文件,但卻是用推模式解析,解析器解析完整個xml文件後,才產生解析事件,然後推給程式去處理這些事件;DOM採用的方式是將整個xml文件對映到一顆記憶體樹,這樣就可以很容易地得到父節點和子結點以及兄弟節點的資料,但如果文件很大,將會嚴重影響效能。
   四:使用Compiler API
  現在我 們可以用JDK1.6 的Compiler API(JSR 199)去動態編譯Java原始檔,Compiler API結合反射功能就可以實現動態的產生Java程式碼並編譯執行這些程式碼,有點動態語言的特徵。
   五:輕量級Http Server API

  JDK1.6 提供了一個簡單的Http Server API,據此我們可以構建自己的嵌入式Http Server,它支援Http和Https協議,提供了HTTP1.1的部分實現,沒有被實現的那部分可以通過擴充套件已有的Http Server API來實現,程式設計師必須自己實現HttpHandler介面,HttpServer會呼叫HttpHandler實現類的回撥方法來處理客戶端請求,在這裡,我們把一個Http請求和它的響應稱為一個交換,包裝成HttpExchange類,HttpServer負責將HttpExchange傳給HttpHandler實現類的回撥方法。
  六:插入式註解處理API(Pluggable Annotation Processing API)

  插入式註解處理API(JSR 269)提供一套標準API來處理Annotations(JSR 175)
  七:用Console開發控制檯程式
  JDK1.6中提供了java.io.Console 類專用來訪問基於字元的控制檯裝置。你的程式如果要與Windows下的cmd或者Linux下的Terminal互動,就可以用Console類代勞。但我們不總是能得到可用的Console,一個JVM是否有可用的Console依賴於底層平臺和JVM如何被呼叫。如果JVM是在互動式命令列(比如Windows的cmd)中啟動的,並且輸入輸出沒有重定向到另外的地方,那麼就可以得到一個可用的Console例項。
  八:對指令碼語言的支援
  如: ruby,groovy,javascript。
九:Common Annotations
  Common annotations原本是Java EE 5.0(JSR 244)規範的一部分,現在SUN把它的一部分放到了Java SE 6.0中。
  

JDK1.7新特性

1、對java集合(Collections)的增強支援

2、在Switch中可用String

3、數值可加下劃線

4、支援二進位制文字 例如:int binary=0b1001_1001;

5、簡化了可變引數方法的呼叫

6、自動資源管理。