JVM 垃圾回收机制学习笔记
2026/9/8 22:09:40 网站建设 项目流程

一、什么是垃圾回收

垃圾回收(Garbage Collection, GC)是Java虚拟机(JVM)自动内存管理的核心机制。与C/C++需要程序员手动管理内存不同,Java通过GC自动回收不再使用的对象,极大地避免了内存泄漏和野指针问题。

需要明确的是:GC主要关注的是Java堆(Heap)内存。程序计数器、虚拟机栈、本地方法栈等区域随线程而生灭,内存分配和回收具有确定性,不需要GC过多关注。而Java堆中对象的创建和销毁是动态的,这才是GC需要管理的核心区域。


二、如何判断对象需要被回收:可达性分析算法

通过一系列称为“GC Roots”的对象作为起始点,向下搜索引用链(Reference Chain)。如果一个对象到GC Roots没有任何引用链相连,则该对象不可用,可以被回收。

可作为GC Roots的对象包括

  • 虚拟机栈(栈帧中的局部变量表)中引用的对象
  • 方法区中静态属性引用的对象
  • 方法区中常量引用的对象
  • 本地方法栈中JNI引用的对象
  • 被同步锁(synchronized)持有的对象
  • Java虚拟机内部的引用(如系统类加载器等)

这里的引用链中都是强引用


三、四种引用类型的 GC 特性

引用类型回收时机用途

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询