垃圾分代回收机制
对于堆内存中的对象,在用完之后不一定会立即回收,而是在某个不定时的时刻被回收。
将堆内存分为了两块---新生代和老生代。新生代又分为了伊甸园区和幸存区。一个对刚创建的时候是放到了伊甸园区,在伊甸园区经过一次扫描之后,如果这个对象已经不被引用,那么释放对应的内存;如果依然被引用,则挪到新生代的幸存区中。幸存区的扫描频率会略低于伊甸园区;在幸存区经过了多次扫描之后,如果这个对象依然存在,则挪到老生代,老生代的扫描频率远远低于新生代。老生代中的对象一旦产生回收,则会导致程序的卡顿甚至崩溃。
发生在新生代的回收---minor gc---初代回收
发生在老生代的回收---full gc---完全回收