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