创作人QQ:851301776,邮箱:lfr890207@163.com,欢迎大家一起技术交流,本博客主要是自己学习的心得体会,只为每天进步一点点!
个人座右铭:
1.没有横空出世,只要厚积一定发。
2.你可以学历不高,你可以不上学,但你不能不学习
此博客总结,主要是方便日后查看学习
内存泄漏是在没有自动 gc 的编程语言里面,经常发生的一个问题。因为没有 gc,所以分配的内存需要程序员自己调用释放。其核心原因是调用分配与释放没有符合开闭原则,没有配对,形成了有分配,没有释放的指针,从而产生了内存泄漏。
{
void *p1 = malloc(size1);
void *p2 = malloc(size2);
free(p1);
}
以上代码段,分配了size1,size2 大小的内存块分配由 p1 与 p2 指向。而代码块执行完以后,释放了 p1,而 p2 没有释放。形成了有分配没有释放的指针,产生了内存泄漏。
备注:自动gc是gc内存管理中,某块内存区域满了,就会触发gc回收
二、内存泄漏的种类 (1)常发性内存泄漏发生内存泄漏的代码会被多次执行到,每次被执行的时候都会导致一块内存泄漏。
(2)偶发性内存泄漏发生内存泄



