/*** 強引用
* 強引用設定為空,物件立馬會被**
**/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 屬性,表明這是乙個強引用。這意味著,只要引用存在,物件就不能被銷毀。這是一種所期望的行為 當所有 強 引用都去除時,物件才能被收集和釋放。不過,有時我們卻希望禁用這種行為 一些集合類不應該增加其元素的引用,因為這...