GC系统算法分析
GC概述
基于正在使用的对象进行遍历,对存活的对象进行标记,其未标记对象可认为是垃圾对象,基于特定算法进行回收,这个过程称为GC。GC系统实现有如下几个方面:
1)GC判断策略(引用计数,对象可达性分析)
2)GC收集算法(标记-清除,标记-清除-整理,标记-复制-清除)
3)GC收集器(Serial,Parallel,CMS,G1)
手动GC
手动GC即显式的内存分配和内存释放,如果忘了释放,则对应的那块内存不能再次使用,内存一直被占着,却不能使用,这种情况就称为内存泄漏
int send_request() {
size_t n = read_size();
int * elements = malloc(n * sizeof(int));
if(read_elements(n,elements) < n){
return -1;
}
free(elements)
return 0;
}
手动GC经常会忘记释放内存,这样就会导致内存泄漏
自动GC
自动GC一
GC系统算法分析最先出现在Python成神之路。
版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/13014.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论