国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JVM原理和GC原理

2019-11-06 06:44:24
字體:
來源:轉載
供稿:網友

JVM體系分為4塊:

類的加載機制JVM內存機構GC算法 垃圾回收GC分析 命令調優

類的加載機制:

類的加載是將類的.class文件中的二進制數據從磁盤加載到內存中,將其放在運行時數據區的方法區內,然后在堆區創建一個java.lang.class 對象,用來封裝類在方法區內的數據結構。類的加載的最終產品是位于堆區中的class對象,并向Java程序員提供了訪問方法區內的數據結構的接口。類的生命周期: 加載 →連接(驗證→準備→解析)→初始化 這里寫圖片描述類加載器: 這里寫圖片描述類加載機制: 全盤負責:當一個類加載器負責加載某個class時,該class所依賴的和所引用的其他class也將由該類的加載器負責載入,除非顯示地使用另外一個類加載器來載入父類委托:當一個class需要被加載時,會先調用啟動類加載器(Bootstrap ClassLoader ) ,加載器查找其加載路徑下是否有此class文件,有則加載,沒有則交給子加載器去加載,依次類推緩存機制:緩存機制將會保證所有加載過的class都會被緩存,當程序中需要使用某個class時,類加載器先從緩存區尋找該class,只有緩存區不存在,系統才會讀取該類對應的二進制數據,并將起轉換成class對象,存入緩存區

JVM內存結構: 這里寫圖片描述

GC算法 垃圾回收:

對象存活判斷

引用計數:每個對象有一個引用計數屬性,新增一個此對象時,計數加1,引用釋放時計數減1,當對象的引用計數為0時,可以回收不可達分析:從GC Roots開始往下搜索,搜索走過的路徑稱為引用鏈,當一個對象到GC Roots沒有任何引用鏈時,則證明此對象不可用的,不可達對象

GC算法:

標記-清除算法:標記所有需要回收的對象,然后統一回收

復制算法:內存分為大小相同的兩塊,每次用一塊,滿了,將活著的復制到另一塊中

標記-壓縮算法: 標記過程仍然與“標記-清除”算法一樣,但后續步驟不是直接對可回收對象進行清理,而是讓所有存活的對象都向一端移動,然后直接清理掉端邊界以外的內存

分段收集算法:“分代收集”(Generational Collection)算法,把Java堆分為新生代和老年代,這樣就可以根據各個年代的特點采用最適當的收集算法。

GC分析 命令調優

此處后期補充 :)

更詳細:JVM知識點總結


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 图木舒克市| 邢台市| 柳河县| 额敏县| 滨州市| 延津县| 仪征市| 甘泉县| 汝州市| 普安县| 华安县| 西充县| 武汉市| 庆元县| 项城市| 株洲市| 永新县| 土默特右旗| 中西区| 乳源| 广西| 额尔古纳市| 廉江市| 柏乡县| 贵溪市| 荥阳市| 六枝特区| 衡山县| 延吉市| 合江县| 桃园市| 保定市| 泗水县| 鹤山市| 鄱阳县| 昌都县| 海林市| 阳西县| 西充县| 沅陵县| 那曲县|