摘要:唯一目的就是在對象被回收時,可以收到一個系統通知。小結引用強弱強軟弱虛關于騰訊提前批,問了強弱引用的區別,直接蒙了。。
Java垃圾回收相關 對象的存活可以通過兩種方式確定:
引用計數法
可達性分析法
其中可達性分析法中,可以作為GCroot Set中的對象主要包括:
1. 虛擬機棧(棧幀中的本地變量表)中引用的對象; 2. 方法區中靜態屬性引用的對象; 3. 方法區中常量引用的對象; 4. 本地方法棧中JNI引用的對象。引用(騰訊提前批。。。強行問了) 各種引用(強,軟,弱,虛)
1.強引用
類似Object obj = new Object();
只要強引用還在,就永遠不會被回收。
2.軟引用
描述一些有用但并非必需的對象。在將要發生OOM之前,會把這些對象列進回收范圍之中進行第二次回收,如果回收還沒有足夠內存,就拋OOM異常。
JDK1.2后提供了SoftReference來實現軟引用。
3.弱引用
弱引用也是描述非必需對象的,但是他的強度比軟引用更弱,被弱引用關聯的對象只能生存到下一次垃圾回收之前。1.2之后提供了WeakReference。當gc時,無論當前內存是否足夠,都會回收掉只被弱引用關聯的對象。
4.虛引用
最弱的引用關系,1.2之后用PhantomReference來實現,一個對象是否有虛引用,完全不影響其生產時間,也無法通過虛引用來獲得一個對象的實例。唯一目的就是在對象被回收時,可以收到一個系統通知。
引用強弱:強>軟>弱>虛
關于騰訊提前批,問了強弱引用的區別,直接蒙了。。
四大種
1.標記-清除
2.復制算法
3.標記-整理算法
4.分代收集算法
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76572.html
摘要:棧因為是運行單位,因此里面存儲的信息都是跟當前線程相關的信息。基本類型和對象的引用都是在存放在棧中,而且都是幾個字節的一個數,因此在程序運行時,他們的處理方式是統一的。對象,是由基本類型組成的。 一、概念 數據類型 java虛擬機中,數據類型可以分為兩類: 基本類型 引用類型 基本類型的變量保存原始值,即:他代表的值就是數值本身;而引用類型的變量保存引用值。基本類型包括:byte,sh...
摘要:在架構中,堆內存和垃圾回收器這兩個部分和垃圾回收相關。堆內存在的內存模型中,最重要的是要了解堆內存的概念。在垃圾回收的過程中,這些對象將被從堆內存中清除,同時它們的空間也就被回收了。 本文非原創,翻譯自Java Garbage Collection introduction在Java中為對象分配和釋放內存空間都是由垃圾回收線程自動執行完成的。和C語言不一樣的是Java程序員不需要手動寫...
摘要:廣告位出售垃圾回收機制淺析與理解對垃圾回收進行分析前,我們先來了解一些基本概念基本概念內存管理內存管理對于編程語言至關重要。里面的變量通常是局部變量函數參數等。 GC(@廣告位出售)垃圾回收機制: 淺析與理解 對垃圾回收進行分析前,我們先來了解一些基本概念 基本概念 內存管理:內存管理對于編程語言至關重要。匯編允許你操作所有東西,或者說要求你必須全權處理所有細節更合適。C 語言中雖然...
閱讀 2337·2021-11-24 11:16
閱讀 2022·2021-09-30 09:47
閱讀 1997·2021-09-10 10:51
閱讀 1316·2019-08-30 14:08
閱讀 3133·2019-08-30 13:47
閱讀 1521·2019-08-30 13:02
閱讀 3227·2019-08-29 12:29
閱讀 3179·2019-08-26 17:05