paip.jdk1.4 1.5(5.0) 1.6(6.0) 7.0 8.0特點比較與不同
作者Attilax , EMAIL:1466519819@qq.com
來源:attilax的專欄
地址:http://blog.csdn.net/attilax
jdk1.4
------------
1.引入的一個特性之一就是斷言(assert),為程式的調試提供了強有力的支援
2.增加XML處理
3.新的I/O (NIO) APIs在緩衝處理,字元集支援,,檔案I/O及可升級的網路I/O領域提供新特性及改良的效能。
4.規則運算式匹配
安全
Java 2DTM技術
圖形I/O結構
Java列印服務
AWT
Swing
拖放
故障記錄API
JavaTM Web Start 產品
長期持續的 JavaBeansTM組件
JDBCTM 3.0 API
斷言工具
參數選擇API
Java虛擬機器
效能
包括IPv6的網路支援
RMI
序列化
Java 命名和目錄介面TM (JNDI)
CORBA, Java IDL, 和RMI-IIOP
JavaTM調試器結構產品
國際化
JavaTM Plug-in 產品
集合結構
易用性
規則運算式
Math
反射
Java 本機介面
工具
工具和公用程式
jdk1.5 jdk5
------------------
1. 泛型
2 自動裝箱/拆箱
3 for-each
4 static import
5 變長參數
6.jdk1.5加入了一個新的關鍵字enmu,我們可以這樣來定義一個枚舉類型。
jdk1.6 jdk6.0
----------------
在JDK1.6中,AWT新增加了兩個類:Desktop和SystemTray
二:使用JAXB2來實現對象與XML之間的映射
3.StAX(JSR 173)是JDK1.6.0中除了DOM和SAX之外的又一種處理XML文檔的API。
四:使用Compiler API
現在我 們可以用JDK1.6 的Compiler API(JSR 199)去動態編譯Java源檔案,Compiler API結合反射功能就可以實現動態產生Java代碼並編譯執行這些代碼,有點動態語言的特徵。
五:輕量級Http Server API
六:插入式註解處理API(Pluggable Annotation Processing API)
插入式註解處理API(JSR 269)提供一套標準API來處理Annotations(JSR 175)
七:用Console開發控制台程式
八:對指令碼語言的支援
如: ruby,groovy,javascript。
九:Common Annotations
jdk1.7 jdk7.0
---------------
1.對Java集合(Collections)的增強支援
2.在Switch中可用String
3.數值可加底線
例如:int one_million = 1_000_000;
4.支援二進位文字
例如:int binary = 0b1001_1001;
5.簡化了可變參數方法的調用
當程式員試圖使用一個不可具體化的可變參數並調用一個*varargs* (可變)方法時,編輯器會產生一個“非安全操作”的警告。
6.自動資源管理
jdk8.0
-------------------
1.Streams
集合(Collections)的改進也是Java 8的一大亮點,而讓集合越來越好的核心組件則是“Stream”。它與java.io包裡的InputStream和OutputStream是完全不同的概念
2. Lambda項目、Streams、函數式介面等
3.Java time api
Time在Java裡已有很長一段時間,首先出現的java.util.Date這個包,其次還有java.sql.Date、Calendar。但處理時間和日期需要大量的monkey代碼,因此,像Joda Time等第三方庫
因此誕生。姍姍來遲,Oracle終於決定在Java裡添加一個 java.time包來清理各種時間介面。它看起來很符合現在開發人員的胃口,擁有各種各樣的時間API。
4.Nashorn
Nashorn是Rhino的接替者,該項目的目的是基於Java實現一個輕量級高效能的JavaScript運行環境。
JDK 7中添加了invokeDynamic,其主要是用來支援非Java語言,尤其是動態語言。而JDK 8中的Nashorn將會給開發人員提供一個更加實用的JavaScript實現。事實上,Oracle已經有了他
自己的Node.js實現,叫做Node.jar。這似乎比在Java裡運行JavaScript更加吸引人
5.Accumulators 多線程 lock
Java.util.concurrent包使得線程池和其他相對複雜的多線程結構變得更好
6.TLS SNI
因為SSL,我可能無法分享IP地址。由於HTTP主機頭是建立在基於命名的虛擬機器主機上,並且主機也是依賴SSL來實現加密/解密的,所以,不得不為每個SSL認證申請不同的IP地址。
在最近幾年都是採用SNI來解決這一問題的,Java也不例外
參考:
JDK1_4新特性之I-O APIs篇_JAVA_中國網管聯盟bitsCN_com.mht
JDK_1_4新特性及增強內容概要 - snakeqi的專欄 - 部落格頻道 - CSDN_NET.mht
jdk1_4與jdk1_5及jdk1_6的區別_百度文庫.mht
jdk1_5相比jdk1_4多的新特性 - 林俊龍的個人頁面 - 開源中國社區.mht
JDK1.6的九大新特性
jdk1_4和jdk1_5的區別 & JDK1_6的九大新特性_百度文庫.mht
JDK1_7新特性 - CH的日誌 - 網易部落格.mht
沒有銀彈:探討 Java 8 新增特性的優缺點-CSDN_NET.mht