JVM01--jvm內存結構與垃圾收集算法

重點:GC收集算法,監控內存溢出的方法,jvm優化方法,類加載器的方法,類的結構
一、jvm虛擬機將內存劃分爲6個部分:java虛擬機棧,本地方法棧,java堆,程序計數器,運行常量池,方法區
二、GC策略算法:1、引用計數算法   缺陷:循環引用的對象無法被回收
                            2、根搜索算法       是垃圾收集的基本問題。回收根不可到達的對象.   缺陷:需要停止程序
          可以作爲根(GC roots)對象的有: 1、虛擬機棧中的引用的對象。

                                            2、方法區中的類靜態屬性引用的對象。

                                            3、方法區中的常量引用的對象。

                                            4、本地方法棧中JNI的引用的對象。


二、常見的GC回收算法 1、標記-清除算法   2、複製算法   3、標記-整理算法
1、標記-清除算法 :當堆中的內存被耗盡的時候,就會停止整個程序。停下來做2項工作:一個是標記,二是清除
     標記:遍歷所有GC-Roots能到達的對象,標記爲存活。
     清除:遍歷堆中所有的對象,將沒有標記的對象全部清除。
缺陷:效率低下,需要遍歷堆中所有對象,而且還需要停止應用程序,清除的空間不是連續的

發佈了83 篇原創文章 · 獲贊 26 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章