0901【GC】
主要包含书籍《垃圾回收算法与实现》
努力的阳光蓝孩
学习一时爽,一直学习一直爽
展开
-
垃圾回收的算法与实现学习笔记六、GC标记-清除算法 优缺点
一、优点 1、算法简单、容易实现 2、与保守式GC 算法兼容 1)清除算法不会移动对象,所以非常适合搭配保守式算法。原创 2020-06-02 23:03:08 · 619 阅读 · 0 评论 -
垃圾回收的算法与实现学习笔记五、GC标记-清除算法
一、分配 1、分配:是指将回收的垃圾进行再利用,清除阶段将垃圾对象连接到空链表。 2、搜索空闲链表并寻找大小合适的分块 => 分配。 new_obj(size) { chunk = pickup_chunk(size, $free_list); // 寻找分块 找到大小相同的直接分配 大的分割 分配 if (chunk != NULL) return chunk; else allocation_fail(); } 3、First-fi原创 2020-06-01 09:15:42 · 129 阅读 · 0 评论 -
垃圾回收的算法与实现学习笔记四、GC标记-清除算法
一、概念 1、GC 标记-清除算法由标记阶段和清除阶段构成。 2、标记阶段时把所有活动对象都做上标记的阶段。 3、清除阶段是把那些没有标记的对象,非活动对象的回收阶段。 代码 mark_sweep() { mark_phase(); sweep_phase(); } // collector 会为堆里的所有活动对象打上标记 递归地标记通过指针数组访问对象 mark_phase(){ for(r : $roots) { mark(*r); } }原创 2020-05-30 21:30:02 · 191 阅读 · 0 评论 -
垃圾回收的算法与实现学习笔记三、GC基本概念
一、分配 1、分配(allocation)指的是在内存空间中分配对象。原创 2020-05-28 23:37:38 · 150 阅读 · 0 评论 -
垃圾回收的算法与实现学习笔记二、GC基本概念
一、对象、头、域 1、对象 1)在面向对象编程中:指具体有属性和行为的事物 2)GC世界中:表示通过应用程序利用的数据的集合。 3)对象配置在内存空间里。 4)GC 根据情况将配置好的对象进行移动或销毁。 5)对象是GC的基本单位 6)对象由头(header)和域(field)构成 2、头 1)对象中保存对象本身信息的部分称为头(可以理解为标识) 2)主要包含:对象的大小、对象的种类 3、域 1)对象使用者在对象中可访问的部分称为“域” 2)与类型分为指针(指向内存空间中某块区域的原创 2020-05-28 09:22:24 · 165 阅读 · 0 评论 -
垃圾回收的算法与实现学习笔记一、GC基本了解
一、GC的定义 1、GC(Carbage Collection)的简称,中文垃圾回收。 2、现实中指不用的东西,可以扔掉的。比如:破旧的衣服,可以扔掉的食物。 3、GC中:把程序不用的内存空间成为垃圾。 二、GC做的两件事情 1、找到内存空间的垃圾。 2、回收垃圾,让程序员能再次利用这部分空间。 三、为什么需要GC 没有GC 1、没有GC时,程序员必须手动进行内存管理,还必须要确认必要和不必要的内存空间,以免释放错误。 2、如果没有释放累计的多了就会发生内存泄漏,无法使用内存空间,还可能原创 2020-05-25 07:06:50 · 221 阅读 · 0 评论