堆
新生代,
老年代,
根据对象存活的年龄划分
产生新的对象都会放在新生代的Eden Space区域。
垃圾回收,会 清理一部分对象,剩下的幸存者 放到 From Space
(To Space是用来做腾挪用的)
经历了15次(可配置)回收,还幸存的 ,放到老年代里。
判断是否是垃圾:
1.看对象B是否被对象A引用,
如果是,那么说明 B上有引用,说明B不是垃圾。
(有一个缺点:如果A,B互相引用。B里面有个成员指向A对象,A对象有个成员指向B对象。–由于这个缺陷,这个算法不用了。)
2.根节点搜索法:
从根节点开始,看他能到达哪个对象。不可到达的对象就认为为垃圾。
标记清除