首先,對以上的四部分進行解釋。
(1)自動內存管理講的是java運行時數據區(qū)里的部分,分為內存劃分和垃圾收集器。
(2)執(zhí)行子系統(tǒng)講的是畫紅圈的三部分:類文件結構、類加載機制、字節(jié)碼執(zhí)行引擎。
(3)優(yōu)化分別為編譯期優(yōu)化和運行期優(yōu)化。
(4)并發(fā)講的是虛擬機是如何實現(xiàn)多線程的。
具體可結合下面的JVM結構圖來看。這張圖是基于JDK7的。JDK7以前,常量池是存放在方法區(qū)的。從JDK7以后,常量池放到了堆中。
本系列文章:
JVM(1)—綜述
JVM(2)—內存的劃分
JVM(3)—垃圾收集機制
JVM(4)—類文件結構
JVM(5)—類加載機制
JVM(6)—執(zhí)行引擎
JVM(7)—JVM優(yōu)化
JVM(8)—高效并發(fā)
JVM概念:
我們來看看JVM是什么,為什么有JVM。
JVM是java虛擬機(Java Virtual Machine),其實現(xiàn)了“一次編譯,處處運行”的功能。如果沒有JVM,我們編寫java代碼時,如果想在Windows平臺上運行,那就需要編寫一套適用于Windows平臺的。如果想在linux平臺上運行,則編寫一套linux的。
如果類比到現(xiàn)實,.java就是面粉,.class就是和好的面團,jvm就是一個個的模子,把同樣的面團刻畫出不同樣子的小饅頭。
更過相關問題請訪問PHP中文網:JAVA實戰(zhàn)教學視頻