JVM对那些没有根引用的对象进行来及回收,也就是无法从根对象中追述的对象。
JVM垃圾回收的根对象的范围有以下几种:
1、栈中引用的对象,引用是在栈帧中的本地变量表中的,真正的对象在堆中
2、方法区perm中的类静态属性引用的对象,以及常量引用的对象
3、本地方法栈中JNI(Native方法)的引用的对象
参考文献:
http://javabook.compuware.com/content/memory/how-garbage-collection-works.aspx
您还没有登录,请您登录后再发表评论
Survivor区:当Eden区满之后,MinorGc机制会清理无引用状态的对象,并将GCRoot对象复制到Survivor区其中一个区内 GCRoot:就是指当前仍在直接引用的对象,GCRoot对象所引用的全部对象会形成一个GCRoot链 new对象 ...
* 引用链法:通过一种 GC ROOT 的对象(方法区中静态变量引用的对象等)来判断,如果有一条链能够到达 GC ROOT 就说明,不能到达 GC ROOT 就说明可以回收。 五、SafePoint SafePoint 是 JVM 中的一种机制,用于...
当一个对象不能和任何一个 GC Root 产生关系时,就判定为垃圾。软引用和弱引用也会影响对象的回收。内存不足时会回收软引用对象;GC 时会回收弱引用对象。 八、GC Roots GC Roots 是 JVM 中的一些对象,它们是垃圾...
当一个对象不能和任何一个 GC Root 产生关系,就判定为垃圾。 * GC Roots 大体包括: + 活动线程相关的各种引用,比如虚拟机栈中栈帧里的引用。 + 类的静态变量的引用。 + JNI 引用等。 四、强引用、软引用、弱...
1. **JVM大小不是越大越好**:更大的JVM意味着Full GC(全局垃圾收集)时间更长,这期间应用会被暂停。因此,过大JVM可能导致性能下降。 2. **选择适合的GC算法和配置**:针对特定应用选择最佳的垃圾收集策略和相关...
* 找出无法被回收的大对象:使用 Eclipse MAT 分析堆转储文件,定位无法被回收的大对象,找出其 GC Root 引用路径。 * 优化代码:使用 null 显式赋值、虚引用等方式及时回收大对象,减少大对象的生命周期,检查数据...
如果一个对象无法与任何GC Root建立联系,就被认为是不可达的,进而被视为垃圾。软引用和弱引用会影响对象的回收时机,软引用在内存不足时会被回收,弱引用在每次垃圾收集时都会被回收。虚引用主要用于跟踪对象的...
- **GC Root不可达的对象**:GC从GC Root开始遍历引用链,无法到达的对象将被视为可回收。 3. **GC的工作过程**: - **Minor GC**:主要针对新生代,采用复制算法,当Eden区满时,将存活对象移动到Survivor区。 ...
文章目录如何判断一个对象是垃圾垃圾回收算法分代收集算法垃圾收集器相关知识总结 如何判断一个对象是垃圾 我们都知道了当堆中的区域没有足够内存去...由GC Root出发,开始寻找,看看某个对象是否可达 GC Root:可以是
相关推荐
Survivor区:当Eden区满之后,MinorGc机制会清理无引用状态的对象,并将GCRoot对象复制到Survivor区其中一个区内 GCRoot:就是指当前仍在直接引用的对象,GCRoot对象所引用的全部对象会形成一个GCRoot链 new对象 ...
* 引用链法:通过一种 GC ROOT 的对象(方法区中静态变量引用的对象等)来判断,如果有一条链能够到达 GC ROOT 就说明,不能到达 GC ROOT 就说明可以回收。 五、SafePoint SafePoint 是 JVM 中的一种机制,用于...
当一个对象不能和任何一个 GC Root 产生关系时,就判定为垃圾。软引用和弱引用也会影响对象的回收。内存不足时会回收软引用对象;GC 时会回收弱引用对象。 八、GC Roots GC Roots 是 JVM 中的一些对象,它们是垃圾...
当一个对象不能和任何一个 GC Root 产生关系,就判定为垃圾。 * GC Roots 大体包括: + 活动线程相关的各种引用,比如虚拟机栈中栈帧里的引用。 + 类的静态变量的引用。 + JNI 引用等。 四、强引用、软引用、弱...
1. **JVM大小不是越大越好**:更大的JVM意味着Full GC(全局垃圾收集)时间更长,这期间应用会被暂停。因此,过大JVM可能导致性能下降。 2. **选择适合的GC算法和配置**:针对特定应用选择最佳的垃圾收集策略和相关...
* 找出无法被回收的大对象:使用 Eclipse MAT 分析堆转储文件,定位无法被回收的大对象,找出其 GC Root 引用路径。 * 优化代码:使用 null 显式赋值、虚引用等方式及时回收大对象,减少大对象的生命周期,检查数据...
如果一个对象无法与任何GC Root建立联系,就被认为是不可达的,进而被视为垃圾。软引用和弱引用会影响对象的回收时机,软引用在内存不足时会被回收,弱引用在每次垃圾收集时都会被回收。虚引用主要用于跟踪对象的...
- **GC Root不可达的对象**:GC从GC Root开始遍历引用链,无法到达的对象将被视为可回收。 3. **GC的工作过程**: - **Minor GC**:主要针对新生代,采用复制算法,当Eden区满时,将存活对象移动到Survivor区。 ...
文章目录如何判断一个对象是垃圾垃圾回收算法分代收集算法垃圾收集器相关知识总结 如何判断一个对象是垃圾 我们都知道了当堆中的区域没有足够内存去...由GC Root出发,开始寻找,看看某个对象是否可达 GC Root:可以是