国产探花免费观看_亚洲丰满少妇自慰呻吟_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知識點總結


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤冈县| 玛沁县| 博白县| 苍山县| 扶绥县| 翼城县| 漾濞| 上虞市| 大渡口区| 鄢陵县| 江安县| 安吉县| 阿坝| 沾益县| 石泉县| 滦平县| 霸州市| 靖远县| 清水县| 和林格尔县| 古交市| 大连市| 凌海市| 湘潭县| 鄂托克前旗| 嵊泗县| 汉阴县| 镇赉县| 通许县| 韶关市| 南乐县| 河北省| 泽库县| 襄樊市| 千阳县| 玉溪市| 南召县| 中阳县| 马龙县| 临夏市| 休宁县|