主要內容以下:java
1、JVM的概念:正則表達式
JVM:編程
Java Virtual Machine,意爲Java虛擬機。安全
虛擬機:多線程
指經過軟件模擬的具備完整硬件系統功能的、運行在一個徹底隔離環境中的完整計算機系統模塊化
有哪些虛擬機:性能
VMWare、Virtual Box:都是使用軟件模擬物理CPU的指令集加密
JVM:使用軟件模擬Java 字節碼的指令集spa
2、JVM發展歷史:線程
一、Java發展史:
純解釋運行,使用外掛進行JIT
AWT、內部類、JDBC、RMI、反射
JIT 解釋器混合
Accurate Memory Management 精確內存管理,數據類型敏感
提高了GC性能
注:JDK1.2開始,稱爲Java 2,因而有了J2SE J2EE J2ME 的出現,同時加入Swing Collections。
加入JavaSound
加入:Assert 正則表達式 NIO IPV6 日誌API 加密類庫
泛型
註解
枚舉
自動裝箱
可變長參數
Foreach循環
腳本語言支持
JDBC 4.0
Java編譯器 API
延誤項目推出到JDK8
G1(全新的GC收集器)
動態語言加強
64位系統中的壓縮指針
NIO 2.0
Lambda表達式
語法加強 Java類型註解
模塊化
二、重大歷史事件:
HotSpot 爲Longview Technologies開發,被SUN收購
HotSpot 成爲Sun JDK和OpenJDK中所帶的虛擬機
獲得JRockit VM
獲得Hotspot
在Hotspot基礎上,移植JRockit優秀特性
3、JVM種類:
一、KVM:
SUN發佈
IOS Android興起以前,普遍用於手機系統
二、CDC/CLDC HotSpot:
手機、電子書、PDA等設備上創建統一的Java編程接口
J2ME的重要組成部分
三、JRockit:
BEA
四、IBM J9 VM:
IBM內部
五、Apache Harmony:
兼容於JDK 1.5和JDK 1.6的Java程序運行平臺
與Oracle關係惡劣,退出JCP ,Java社區的分裂
OpenJDK出現後,受到挑戰,2011年退役
沒有大規模商用經歷
對Android的發展有積極做用
4、Java語言規範:
Java語言規範主要體如今如下幾點:
5、JVM規範:
JVM主要定義二進制class文件和JVM指令集等。
JVM語言規範主要體如今如下幾點:
此外,JVM須要對Java Library 提供如下支持:(由於這些東西沒有辦法經過java語言自己來實現)