阿里P6面试题及答案( 七 )


4. 标记-整理(Mark-Compact) 此算法结合了 “标记-清除”和“复制”两个算法的优点 。也是分两阶段,第一阶段从根节点开始标记所有被引用对象,第二阶段遍历整个堆,把清除未标记对象并且把存活对象 “压缩”到堆的其中一块,按顺序排放 。此算法避免了“标记-清除”的碎片问题,同时也避免了“复制”算法的空间问题 。
5. 增量收集(Incremental Collecting) 实施垃圾回收算法,即:在应用进行的同时进行垃圾回收 。。
6. 分代(Generational Collecting) 基于对对象生命周期分析后得出的垃圾回收算法 。把对象分为年青代、年老代、持久代,对不同生命周期的对象使用不同的算法(上述方式中的一个)进行回收 。现在的垃圾回收器(从J2SE1.2开始)都是使用此算法的 。
看完了有什么感想,自己和BAT的要求有差距么?




推荐阅读