天天看點

第1章 走進Java

目錄

Java産品線

Java發展史

Java産品線

Java SE

  • 面向桌面級應用的Java平台,提供完整的Java核心API。
  • JDK 6前被稱為J2SE。

Java EE

  • 面向企業應用的Java平台,出了SE api外,還做了大量擴充。
  • JDK 6以前被稱為J2EE。
  • JDK 10後,Oracle捐給Eclipse基金會,改名Jakarta EE。

Java發展史

1995.5 JDK1.0:

Oak改名Java。

JDK:

核心API、內建API、使用者界面API、釋出技術、JVM

JRE:

Java程式的編譯器
           

1997.2 JDK1.1:

内部類、反射等。
           

1998.12 JDK1.2:

産品線拆分為:

J2ME

J2SE

J2EE
           

2000.2 JDK1.3:

HotSpot虛拟機作為預設Java虛拟機,由Longview公司設計,後被Sum收購,之前使用Sum Classic虛拟機。
           

2002.2 JDK1.4:

正規表達式、異常鍊、NIO、日志類、XML解析器等。
           

2004.9 JDK 5:

官方文檔不再隻用JDK1.5命名,隻有開發版本号繼續沿用1.x,公開版使用JDK x。

自動裝箱、泛型、動态注解、枚舉、可變長參數、foreach循環、并發包等。

           

2006.12 JDK 6:

Sum宣布開源Java。

産品重命名:

Java ME 6

Java SE 6

Java EE 6
           

2009.4 :

Oracle收購Sum。
           

2011.7 JDK 7:

G1收集器。

正式開始為Mac OS X作業系統提供支援。
           

2014.9 JDK 8 LTS:

Lambda表達式、新的時間、日期API等

徹底移除HotSpot的永久代。
           

2017.9 JDK 9:

Jigsaw子產品化。

增強工具JS Shell JLink等。
           

2018.3 JDK 10:

Oracle宣布Java EE成為曆史名詞。捐給Eclipse基金會,改名Jakarta EE
本地類型自動推斷

統一倉庫

統一垃圾收集器接口

統一即時編譯器接口(引入新的Graal即時編譯器)

           

2018.9 JDK 11 LTS:

"Java要開始收費啦!",純屬标題黨。

Oracle把商業特性開源給OpenJDK,以後将同時發行兩個JDK,Oracle OpenJDK,OracleJDK,差別是前者生産環境也是免費使用。

ZGC垃圾收集器

類型推斷加入Lamdba文法
           

2019.2 JDK 12:

Switch表達式

JMH,Java微測試套件

RedHat上司開發的Shenandoah垃圾收集器在OracleJDK12被強行除掉。
           
參考:《深入了解Java虛拟機》 第3版 周志明