JVM棧堆概念,何時(shí)銷(xiāo)毀對(duì)象?
2023-05-11 09:18 作者:云和數(shù)據(jù)何老師 | 我要投稿

下面是一個(gè)簡(jiǎn)單的Java代碼演示,它創(chuàng)建了一個(gè)對(duì)象并將其分配到堆中。當(dāng)對(duì)象不再被任何變量引用時(shí),JVM將清理并釋放其占用的內(nèi)存空間。
public class MyClass {
? public static void main(String[] args) {
? ? ?// 創(chuàng)建一個(gè)對(duì)象并將其分配到堆中
? ? ?MyClass obj = new MyClass();
? ? ?
? ? ?// 將obj賦值為null,這意味著該對(duì)象不再被任何變量引用
? ? ?obj = null;
? ? ?
? ? ?// JVM的垃圾回收器會(huì)周期性地檢查堆中的對(duì)象,并清除那些沒(méi)有被任何變量引用的對(duì)象,釋放它們占用的內(nèi)存空間
? }}
在上面的代碼中,當(dāng)obj被賦值為null時(shí),MyClass對(duì)象將不再被任何變量引用。因此,JVM的垃圾回收器會(huì)將該對(duì)象標(biāo)記為可回收,并在適當(dāng)?shù)臅r(shí)候?qū)⑵鋸亩阎星宄?/p>
標(biāo)簽: