Java GC只作用于堆和方法区部分区域,通过可达性分析从GC Roots判断对象存活,按强、软、弱、虚引用强度决定回收时机,并在Stop-the-World状态下执行回收。

Java中的GC(Garbage Collection,垃圾收集)是JVM自动管理内存的核心机制。它不靠程序员手动释放对象,而是由虚拟机在运行时自动识别并回收那些“不再被使用”的对象所占的堆内存,从而防止内存泄漏、避免OutOfMemoryError,并让内存资源持续可用。
GC只作用于Java堆(Heap)和方法区(Method Area)中部分可回收内容(如废弃的常量、无用的类)。它不管以下区域:
JVM不用引用计数法(因无法解决循环引用,且开销大),而是采用可达性分析算法:
不是所有引用都一样硬气,JVM按强度分四类:
立即学习“Java免费学习笔记(深入)”;
Object obj = new Object()):只要它存在,GC绝不会回收会。大多数GC事件触发时,JVM会进入Stop-the-World状态——所有用户线程暂停,只留GC线程工作。这是为了保证堆中对象引用关系的一致性。不同垃圾收集器(如Serial、G1、ZGC)的目标,就是尽量缩短这个停顿时间。
基本上就这些。
以上就是java中gc是什么的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号