垃圾回收机制

垃圾回收机制
 1.引用计数法:每个对象都有一个引用计数器,当对象被引用时,计数器加1,当引用失效时,计数器减1,当计数器为0时,对象被回收。垃圾回收器定期(周期性)找出那些不再被引用的对象,然后释放这些对象所占用的内存。
 2. 标记-清除法:从根节点开始遍历所有对象,标记所有可达的对象,然后清除所有未被标记的对象。垃圾回收器定期(周期性)找出那些未被标记的对象,然后释放这些对象所占用的内存。
 3. 复制算法:将内存分为两个相等的区域,每次只使用其中一个区域。当垃圾回收器运行时,它会将所有可达的对象复制 到另一个区域,然后释放原来的区域。垃圾回收器定期(周期性)运行,以保持内存的可用性。
4. 分代收集法:将对象分为不同的代,每一代都有不同的存活时间。垃圾回收器定期(周期性)运行,以保持内存的可用性。 包括0,1,2代,0代是刚刚创建的对象,1代是经过一次垃圾回收后仍然存活的对象,2代是经过两次垃圾回收后仍然存活的对象。大对象一般都在稳定的2代,即使需要回收也只是清空数组,因为大对象申请和回收的代价很高。

posted @   lv99  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示