
0901【GC】
主要包含书籍《垃圾回收算法与实现》
努力的阳光蓝孩
学习一时爽,一直学习一直爽
展开
-
垃圾回收的算法与实现学习笔记六、GC标记-清除算法 优缺点
一、优点1、算法简单、容易实现2、与保守式GC 算法兼容1)清除算法不会移动对象,所以非常适合搭配保守式算法。原创 2020-06-02 23:03:08 · 651 阅读 · 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 · 136 阅读 · 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 · 207 阅读 · 0 评论 -
垃圾回收的算法与实现学习笔记三、GC基本概念
一、分配1、分配(allocation)指的是在内存空间中分配对象。原创 2020-05-28 23:37:38 · 167 阅读 · 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 · 185 阅读 · 0 评论 -
垃圾回收的算法与实现学习笔记一、GC基本了解
一、GC的定义1、GC(Carbage Collection)的简称,中文垃圾回收。2、现实中指不用的东西,可以扔掉的。比如:破旧的衣服,可以扔掉的食物。3、GC中:把程序不用的内存空间成为垃圾。二、GC做的两件事情1、找到内存空间的垃圾。2、回收垃圾,让程序员能再次利用这部分空间。三、为什么需要GC没有GC1、没有GC时,程序员必须手动进行内存管理,还必须要确认必要和不必要的内存空间,以免释放错误。2、如果没有释放累计的多了就会发生内存泄漏,无法使用内存空间,还可能原创 2020-05-25 07:06:50 · 242 阅读 · 0 评论