9.1概述
在class文件格式和執行引擎這部分內容中,用戶程序能直接影響的并不多,Class文件以何種形式存儲,類型何時加載、如何連接,以及虛擬機如何執行字節碼指令都由虛擬機直接控制,用戶無發改變;能夠通過程序控制的,主要是字節碼生成和類加載器兩部分
9.2案例分析
9.2.1Tomcat:正統的類加載架構
一個功能健全的web服務器需要解決的問題
同一個web服務器上的不同應用程序可以實現相互隔離
同一個web服務器上的不同應用程序可以實現共享
服務器盡量保證自身安全不受部署應用程序的影響
支持jsp應用的web服務器,大多數需要支持HotSwap功能
9.2.2:OSGI:靈活的類加載架構
OSGI(Open Service Gateway Initiative):基于Java語言的動態模塊化規范
典型應用:Eclipse Idea
OSGI的每個模塊成為Bundle
9.2.3字節碼生成和動態代理實現
9.2.4Retrotranslator:跨越JDK版本
9.3自己動手實現遠程執行代碼
9.3.1目標
9.3.2思路
9.3.3實現
9.3.4驗證
參考文獻:
[1] 深入理解Java虛擬機 第二版 --周志明