您好,登錄后才能下訂單哦!
這篇文章給大家分享的是java的類加載與虛擬機結(jié)束生命周期的原因。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
類加載,就是讀取 .class 文件到內(nèi)存中,放入方法區(qū),并在堆區(qū)創(chuàng)建一個 java.lang.Class 類型的對象,這個對象封裝了類在方法區(qū)內(nèi)的數(shù)據(jù)結(jié)構(gòu)。
類加載發(fā)生在何時?一般在類被使用時發(fā)生,包括下面 6 種情況:
– 使用 new 關(guān)鍵字創(chuàng)建類示例;
– 訪問靜態(tài)變量;
– 調(diào)用靜態(tài)方法;
– 反射(如 Class.forName(“com.shengsiyuan.Test”));
– 初始化子類,其父類也會被初始化;
– java 虛擬機啟動時被標明為啟動類的類(如:Java Test)。
java 虛擬機何時結(jié)束生命周期,包含下面 4 中情況:
– 執(zhí)行了 System.exit() 方法;
– 程序正常執(zhí)行結(jié)束;
– 程序在執(zhí)行過程中遇到了異?;蝈e誤而終止;
– 操作系統(tǒng)出現(xiàn)錯誤導致虛擬機進程終止。
關(guān)于java的類加載與虛擬機結(jié)束生命周期的原因就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。