強引用,軟引用,弱引用

2022-09-09 13:21:34 字數 593 閱讀 2513

/**

* 強引用

* 強引用設定為空,物件立馬會被**

**/public

class

normalreference

}classm}

/*** 軟引用

* 軟引用當引用存在的時候,只有當記憶體不足的時候才去**

**/public

class

t0_softreference

catch

(exception e)

system.out.println(m.get());

//再重新分配乙個陣列,heap將裝不下,這個時候系統會垃圾**,先**一次,如果不夠,才把軟引用乾掉

byte b=new

byte[1024*1024*15];

system.out.println(m.get());

}}/**

* 弱引用 只要碰到垃圾**器**就立即被**

* threadlocal裡面就用到了弱引用,防止記憶體洩漏

**/public

class

t0_weakreference

}

強引用,軟引用,弱引用,虛引用

強引用就是我們通常意義上的引用,類似 object object new object 只要強引用在,就不會被gc。軟引用,這種物件就是拿來jvm拿來防止記憶體溢位的乙個措施,當jvm要進行記憶體洩露的時候就會把這種物件進行 如果記憶體還不夠,才會丟擲outofmemoryerror。softref...

四種引用 強引用 弱引用 軟引用和虛引用

j a執行gc判斷物件是否存活有兩種方式其中一種是引用計數。引用計數 j a堆中每乙個物件都有乙個引用計數屬性,引用每新增1次計數加1,引用每釋放1次計數減1。在jdk 1.2以前的版本中,若乙個物件不被任何變數引用,那麼程式就無法再使用這個物件。也就是說,只有物件處於 reachable 可達狀態...

強引用和弱引用

weak 和 strong 會出現在宣告中 預設情況下,乙個指標都會使用 strong 屬性,表明這是乙個強引用。這意味著,只要引用存在,物件就不能被銷毀。這是一種所期望的行為 當所有 強 引用都去除時,物件才能被收集和釋放。不過,有時我們卻希望禁用這種行為 一些集合類不應該增加其元素的引用,因為這...