十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

JVM 垃圾回收机制学习笔记

JVM 垃圾回收机制学习笔记 一、什么是垃圾回收垃圾回收(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 特性引用类型回收时机用途
返回列表