码迷,mamicode.com
首页 > 其他好文 > 详细

关于LOH(Large Object Heap)及内存泄漏

时间:2017-09-22 14:10:08      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:一个   授权   .net   cto   sdn   details   垃圾回收   blog   process   

关于LOH(Large Object Heap)的。

.NET CLR中对于大于85000字节的内存既不像引用类型那样分配到普通堆上,也不像值类型那样分配到栈上,而是分配到了一个特殊的称为LOH的内部堆上,这部分的内存只有在GC执行完全回收,也就是回收二代内存的时候才会回收。因此,考虑如下情形:

假设你的程序每次都要分配一个大型对象(大于85000字节),但却很少分配小对象,导致2代垃圾回收从不执行,即使这些大对象不再被引用,依然得不到释放,最终导致内存泄漏。



作者:Ziheng
链接:https://www.zhihu.com/question/39047173/answer/111373831
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

关于LOH(Large Object Heap)及内存泄漏

标签:一个   授权   .net   cto   sdn   details   垃圾回收   blog   process   

原文地址:http://www.cnblogs.com/timeObjserver/p/7574305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!