JVM包括類加載子系統、堆、方法區、棧、本地方法棧、程序計數器、直接內存、垃圾回收器、執行引擎。
1. 類加載子系統:類加載子系統負責加載class信息,加載的類信息存放于方法區中。
2. 直接內存 直接內存是在Java堆外的、直接向系統申請的內存空間。訪問直接內存的速度會由于Java堆。出于性能的考慮,讀寫頻繁的場合可能會考慮使用直接內存。
3. 垃圾回收器:垃圾回收器可以對堆、方法區、直接內存進行回收。
4. 執行引擎:執行引擎負責執行虛擬機的字節碼,虛擬機會使用即時編譯技術將方法編譯成機器碼后再執行。