回收针对的是堆内存。
将堆内存划分为了2块:新生代和老生代。新生代有划分为伊甸园区和幸存区。对象刚创建的时候是放在新生代的伊甸园区,在伊甸园区经过一次回收之后如果这个对象依然存在,则会挪到幸存区。如果在幸存区经过多次回收,会挪到老生代。老生代的扫描频率是远低于新生代。老生代的对象一旦回收,往往会导致程序的卡顿甚至于崩溃。
发生在新生代的回收---初代回收(minor gc --- garbage collector)
发生在老生代的回收---完全回收(full gc)
如果一个对象在新生代存放不开,会试图直接放入老生代---OutOfMemoryError
Java垃圾分代回收机制
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Java中的垃圾回收 翻译原文 => plumbr Java GC handbook 前文参见: Java垃圾回收...
- 垃圾回收算法具体实现 翻译原文 => plumbr Java GC handbook 前文参见: Java垃圾回收...
- 这是超级作品的第004篇原创作品 一 一切生意的本质皆是流量。 这一切的生意,其实都是在做流量的买卖。淘宝通过电视...