jvm垃圾分代回收演算法
垃圾分代回收演算法(Generational Collecting)
基於對物件生命週期分析後得出的垃圾回收演算法。把物件分為年青代、年老代、 持久代,對不同生命週期的物件使用不同的演算法(上述方式中的一個)進行回收。 現在的垃圾回收器(從J2SE1.2 開始)都是使用此演算法的。
1. Young(年輕代)JVM specification 中的Heap 的一部份 年輕代分三個區。一個Eden 區,兩個Survivor 區。大部分物件在Eden 區中生 成。當Eden 區滿時,還存活的物件將被複制到Survivor 區(兩個中的一個), 當這個Survivor 區滿時,此區的存活物件將被複制到另外一個Survivor 區,當 這個Survivor 去也滿了的時候,從第一個Survivor 區複製過來的並且此時還存 活的物件,將被複制到年老區(Tenured)。需要注意,Survivor 的 兩個區是對稱的,沒先後關係,所以同一個區中可能同時存在從Eden 複製過來 物件,和從前一個Survivor 複製過來的物件,而複製到年老區的只有從第一個Survivor 去過來的物件。而且,Survivor 區總有一個是空的。
2. Tenured(年老代)JVM specification 中的Heap 的一部份 年老代存放從年輕代存活的物件。一般來說年老代存放的都是生命期較長的對
象。
3. Perm(持久代) JVM specification 中的Method area 用於存放靜態檔案,如今Java 類、方法等。持久代對垃圾回收沒有顯著影響, 但是有些應用可能動態生成或者呼叫一些class,例如Hibernate 等,在這種時 候需要設定一個比較大的持久代空間來存放這些執行過程中新增的類。持久代大 小通過-XX:MaxPermSize=進行設定。
基於對物件生命週期分析後得出的垃圾回收演算法。把物件分為年青代、年老代、 持久代,對不同生命週期的物件使用不同的演算法(上述方式中的一個)進行回收。 現在的垃圾回收器(從J2SE1.2 開始)都是使用此演算法的。
1. Young(年輕代)JVM specification 中的Heap 的一部份 年輕代分三個區。一個Eden 區,兩個Survivor 區。大部分物件在Eden 區中生 成。當Eden 區滿時,還存活的物件將被複制到Survivor 區(兩個中的一個), 當這個Survivor 區滿時,此區的存活物件將被複制到另外一個Survivor 區,當 這個Survivor 去也滿了的時候,從第一個Survivor 區複製過來的並且此時還存 活的物件,將被複制到年老區(Tenured)。需要注意,Survivor 的 兩個區是對稱的,沒先後關係,所以同一個區中可能同時存在從Eden 複製過來 物件,和從前一個Survivor 複製過來的物件,而複製到年老區的只有從第一個Survivor 去過來的物件。而且,Survivor 區總有一個是空的。
2. Tenured(年老代)JVM specification 中的Heap 的一部份 年老代存放從年輕代存活的物件。一般來說年老代存放的都是生命期較長的對
象。
3. Perm(持久代) JVM specification 中的Method area 用於存放靜態檔案,如今Java 類、方法等。持久代對垃圾回收沒有顯著影響, 但是有些應用可能動態生成或者呼叫一些class,例如Hibernate 等,在這種時 候需要設定一個比較大的持久代空間來存放這些執行過程中新增的類。持久代大 小通過-XX:MaxPermSize=進行設定。
相關文章
- JVM 記憶體分代、垃圾回收漫談JVM記憶體
- JVM 垃圾回收演算法和垃圾回收器JVM演算法
- JVM垃圾回收演算法JVM演算法
- JVM調優總結-分代垃圾回收詳述1JVM
- JVM調優總結-分代垃圾回收詳述2JVM
- JVM - 方法區(永久代)的垃圾回收JVM
- JVM系列(五) - JVM垃圾回收演算法JVM演算法
- JVM(九):垃圾回收演算法JVM演算法
- JVM調優總結(五)-分代垃圾回收詳述1JVM
- JVM調優總結(六)-分代垃圾回收詳述2JVM
- JVM垃圾回收JVM
- jvm - 垃圾回收JVM
- [JVM]垃圾回收JVM
- jvm有哪些垃圾回收演算法JVM演算法
- jvm(三)——jvm垃圾回收演算法以及實現JVM演算法
- GC 分代回收 - 垃圾收集器GC
- JVM調優:基本垃圾回收演算法JVM演算法
- JVM垃圾回收概述JVM
- JVM垃圾回收(下)JVM
- JVM - 垃圾回收概述JVM
- JVM垃圾回收器JVM
- JVM調優總結(九)-新一代的垃圾回收演算法JVM演算法
- JVM垃圾回收——新生代,老年代,永久代,Minor GC,Full GCJVMGC
- 【JVM】垃圾回收的四大演算法JVM演算法
- JVM之垃圾回收(1-概述+演算法)JVM演算法
- 深入理解JVM(四)——垃圾回收演算法JVM演算法
- [效能][JVM]jvm垃圾回收機制JVM
- JVM系列(六) – JVM垃圾回收器JVM
- JVM系列(六) - JVM垃圾回收器JVM
- 【JVM】JVM系列之垃圾回收(二)JVM
- JVM記憶體管理、JVM垃圾回收機制、新生代、老年代以及永久代JVM記憶體
- JVM垃圾回收歷險JVM
- JVM 中的垃圾回收JVM
- JVM 垃圾回收機制JVM
- 淺談JVM垃圾回收JVM
- JVM-垃圾回收篇JVM
- JVM垃圾回收機制JVM
- JVM垃圾回收詳解JVM