标签:
经过半个多世纪的发展、目前内存的动态分配与内存回收技术已经相当成熟,但作为程序猿还是得了解GC和内存分配。当需要排查各种内存溢出、内存泄漏、当垃圾收集成为系统达到更高并发量的瓶颈时,就需要对内存的动态分配与内存回收技术实施必要的监控和调节。
本文讲叙了内存中垃圾的收集及内存分配策略。相比较而言,垃圾收集更难一些。本文将介绍几种常见的垃圾收集器及常用垃圾收集算法。垃圾收集算法是基于判断对象在内存中是否死亡,只有判断确定出对象已经死亡,才能采取不同的方式进行收集,实现内存的回收。
判断对象是否存活与“引用”相关。引用可分为强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(Phantom Reference)四种,其引用强度依次减弱。
垃圾收集器是内存回收的具体实现。基于JDK 1.7 Update 14之后的HotSpot虚拟机所包含的收集器如下图所示:
标签:
原文地址:http://www.cnblogs.com/hthuang/p/4662926.html