天天看點

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、自動資源管理。