虛擬機# 第1章-導論與歷史 1.1-1960年代虛擬機的起源(IBM CP/CMS 與系統虛擬化) 1.2-虛擬機的分類(系統虛擬機 vs 程序虛擬機) 1.3-為何需要虛擬機(隔離、可攜性、安全性) 第2章-堆疊式虛擬機 2.1-堆疊機架構與指令集(Pascal P-code 1970年代) 2.2-Java Virtual Machine(1995年與 Write Once Run Anywhere) 2.3-位元碼驗證與 Class Loader 第3章-暫存器式虛擬機與直譯技術 3.1-暫存器機架構(Lua VM、Dalvik) 3.2-直譯迴圈與分派技術 3.3-記憶體管理:垃圾回收演算法 第4章-即時編譯 JIT 與高效能虛擬機 4.1-動態翻譯的理論(Smalltalk 與 Self 的貢獻) 4.2-方法式 JIT 與熱點偵測(HotSpot) 4.3-內嵌快取與形態推測優化(Self 的 inline cache) 第5章-系統虛擬化 5.1-Popek-Goldberg 虛擬化定理(1974)與 trap-and-emulate 5.2-二進位轉譯與半虛擬化(VMware 1998、Xen 2003) 5.3-硬體輔助虛擬化與容器(Intel VT-x 2005、Docker 2013)