深入浅出JVM
虛擬機:
指通過軟件模擬的具有完整硬件系統(tǒng)功能的、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng)
有哪些虛擬機:
VMWare
Visual Box
JVM:使用軟件模擬Java字節(jié)碼的指令集
JDK的發(fā)展歷程:
?1996年 SUN JDK 1.0 Classic VM
–純解釋運行,使用外掛進行JIT
?1997年 JDK1.1 發(fā)布
–AWT、內(nèi)部類、JDBC、RMI、反射
?1998年 JDK1.2 Solaris Exact VM
–JIT 解釋器混合 ?
–Accurate Memory Management 精確內(nèi)存管理,數(shù)據(jù)類型敏感
–提升的GC性能
?2000年 JDK 1.3 Hotspot 作為默認虛擬機發(fā)布
?2002年 JDK 1.4 Classic VM退出歷史舞臺
?2004年發(fā)布 JDK1.5 即 JDK5 、J2SE 5 、Java 5
–泛型
–注解
–裝箱
–枚舉
–可變長的參數(shù)
–Foreach循環(huán)
?JDK1.6 JDK6
–腳本語言支持
–JDBC 4.0
–Java編譯器 API
?2011年 JDK7發(fā)布
–延誤項目推出到JDK8
–G1(垃圾回收器)
–動態(tài)語言增強
–64位系統(tǒng)中的壓縮指針
–NIO 2.0
?2014年 JDK8發(fā)布
–Lambda表達式
–語法增強? Java類型注解
?2016年JDK9
–模塊化
Java歷史中的大事件
?使用最為廣泛的JVM為HotSpot
?HotSpot 為Longview Technologies開發(fā) 被SUN收購
?2006年 Java開源 并建立OpenJDK
–HotSpot? 成為Sun JDK和OpenJDK中所帶的虛擬機
?2008 年 Oracle收購BEA
–得到JRockit VM
?2010年Oracle 收購 Sun?
–得到Hotspot
?Oracle宣布在JDK8時整合JRockit和Hotspot,優(yōu)勢互補
–在Hotspot基礎上,移植JRockit優(yōu)秀特性
JVM的種類
?KVM
–SUN發(fā)布
–IOS Android前,廣泛用于手機系統(tǒng)
?CDC/CLDC HotSpot
–手機、電子書、PDA等設備上建立統(tǒng)一的Java編程接口
–J2ME的重要組成部分
?JRockit
–BEA?
?IBM J9 VM
–IBM內(nèi)部
?Apache Harmony
–兼容于JDK 1.5和JDK 1.6的Java程序運行平臺
–與Oracle關(guān)系惡劣 退出JCP ,Java社區(qū)的分裂
–OpenJDK出現(xiàn)后,受到挑戰(zhàn) 2011年 退役
–沒有大規(guī)模商用經(jīng)歷
–對Android的發(fā)展有積極作用
Java語言規(guī)范定義了什么是Java語言
?Java語言和JVM相對獨立
–Groovy
–Jython
–JRuby
–Clojure
–Scala
?JVM主要定義二進制class文件和JVM指令集等
?
總結(jié)
- 上一篇: hashcode的理解
- 下一篇: HashCode和equal方法