摘要:
垃圾收集算法(1)标记清除根据根搜索确定对象是否已死,已死对象标记,然后一起清除。这个其实不算什么算法,最正常想法应该就是这样。但是,缺点是效率不高,如果有很多不连续的小对象需要回收,会花好多时间。另外,造成内存碎片也是问题,分配新的对象和分配大对象不好解决。(2)标记复制简单的做法,把内存分成两块,内存永远在其中一块上分配。垃圾回收时,把存活的对象复制到另一块连续分配,然后把前一块内存全清除即可。这种方法是浪费一半内存,代价有点大。PS:以后内存大小如果不是问题,不知道会不会用这种算法?大多数情况下,对象的存活期应该是朝生夕灭,所以,专门留出一半的空间来准备备份是没有必要的。hotspot虚 阅读全文