當調用 java命令運行一個java程序時,會啟動一個java虛擬機進程。同一個jvm的所有線程、所有變量都處於同一個進程裡,都使用該jvm進程的內存區。
jvm進程終止的情況:
1.程序運行到最後正常結束。
2.遇到System.exit()或Runtime.getRuntime.exit()。
3.遇到未捕獲的異常或錯誤
4.程序所在的平台強制結束了JVM進程
jvm進程終止,jvm內存中的數據將全部丟失。
當程序主動使用某個類時,如果該類還未被加載到內存中,系統會進行類加載。類加載指的是將類的class文件讀入內存,並為之創建一個java.lang.Class的實例。因為java中萬物皆為對象,類也是java.lang.Class類型的對象。
類加載具體有加載、連接和初始化3個步驟,加載階段需要完成的事情有: