## Java發展歷史

* 1995年5月23 Oak語言更名為Java
* 1996年1月23 JDK 1.0發布
* 1997年2月19日JDK 1.1發布
技術代表:JDBC,JAR文件格式,JavaBeans,RMI。
* 1998年12月4日里程碑版本 JDK1.2
技術體系拆分為面向桌面級應用開發的J2SE、面向企業級應用開發的J2EE、面向手機等移動端開發的J2ME;這本版本的 Java虛擬機第一內置了JIT(編譯器)。
* 1999年4月27HotSpot虛擬機發布
HotSpot最初是一家小公司開發,由于其優秀的 表現,這家公司在1997年被sun公司收購,HotSpot虛擬機發布時是作為Java1.2的附加程序提供的,后來它成為了JDK1.3以及之后的所有版本的Sun JDK的默認虛擬機。
* 2004年9月30日? JDK1.5發布
工程代號Tiger,在語法易用性上做了很大的改進,例如:自動裝箱,泛型,枚舉,可變參數,遍歷循環(foreach循環)等。
* 2006年11月13日 Sun公司宣布Java開源,建立OpenJDK組織對代碼進行管理
* 2006年12月11日 JDK1.6發布
啟用Java SE6,Java 6EE,Java ME6的命名方式,提供動態語言支持,提供編譯API,微型HTT服務器API;同時這個版本對Java虛擬機內部做了大量改進,包括鎖與同步、垃圾收集、類加載等方面的算法都有很大的改動。
* 2009年12月,SUN公司發布Java EE 6
* 2011年7月28日,Oracle公司發布Java SE 7
* 2014年3月18日,Oracle公司發表Java SE 8(市場主流版本)
* 2017年9月21日,Oracle公司發表Java SE 9
后續版本待更新……
## Java體系結構

主要包括Java虛擬機(JVM)、Java運行環境(JRE)以及一些工具(java、javac、javap等)共同構成Java開發套件(JDK)。
## 參考資料
* 周志明 * 《深入理解Java虛擬機》
- 面試突擊
- Java虛擬機
- 認識字節碼
- 000Java發展歷史
- 000Macos10.15.7上編譯OpenJDK8u
- 001熟悉Java內存區域
- 002熟悉HotSpot中的對象
- 003Java如何計算對象大小
- 004垃圾判定算法與4大引用
- 005回收堆和方法區中對象
- 006垃圾收集算法
- 007HotSpot虛擬機垃圾算法實現篇1
- 007HotSpot虛擬機垃圾算法實現篇2
- 007HotSpot虛擬機垃圾算法實現篇3
- 008垃圾收集器
- 009內存分配與回收策略
- 010Java虛擬機相關工具
- 011調優案例分析
- 012一次IDEA的啟動速度調優
- 013類文件Class的結構
- 014熟悉字節碼指令
- 015類加載機制(過程)
- 016類加載器
- IDEA的JVM參數
- Java基礎
- Java自動裝箱與拆箱
- Java基礎數據類型
- Java方法的參數傳遞
- Java并發
- 001走入并行的世界
- 002并行程序基礎
- 003熟悉Java內存模型JMM
- 004Java并發之volatile關鍵字
- 005線程池入門到精通
- 006Java多線程間的同步控制方法
- 007Java維基準測試框架JMH
- 008Java并發容器
- 009Java的線程實現
- 010Java關鍵字synchronized
- 011一些并行模式的熟悉
- 單例模式和不變模式
- 生產者消費者模式
- Future模式
- 012一些并行算法的熟悉
- 面試總結
- 長亮一面