垃圾回收算法和 GC Roots 的对象

判断对象是否要回收有两种算法, 引用计数法和可达性算法。无论哪种都离不开引用,下面将介绍 Java 语言的四种引用。
众所周知,Java 语言的 JVM 垃圾回收机制,用可达性分析算法来判断堆里的对象是否正在使用。
可达性分析算法是从 GC ROOTS 开始,逐级扫描对象引用链,来筛选出不在引用链上(无用)的对象,扫面结束后,回收掉无用的对象占用的空间。

垃圾回收中,GC Roots 对象分下面2大类

(1)栈

虚拟机栈中引用的对象

本地方法栈中 JNI 引用的对象

(2)方法

方法区中类静态属性引用的对

方法区中常量引用的对象

相关推荐
talenteddriver4 分钟前
java: Java8以后hashmap扩容后根据高位确定元素新位置
java·算法·哈希算法
云泽8086 分钟前
STL容器性能探秘:stack、queue、deque的实现与CPU缓存命中率优化
java·c++·缓存
APItesterCris10 分钟前
高并发场景下的挑战:1688 商品 API 的流量控制、缓存策略与异步处理方案
大数据·开发语言·数据库·缓存
yyy(十一月限定版)12 分钟前
c语言——栈和队列
java·开发语言·数据结构
feeday13 分钟前
Python 删除重复图片 优化版
开发语言·python
本地运行没问题17 分钟前
基于Java注解、反射与动态代理:打造简易ORM框架
java
.格子衫.17 分钟前
JS原型链总结
开发语言·javascript·原型模式
ss27319 分钟前
Java线程池全解:工作原理、参数调优
java·linux·python
麦麦鸡腿堡20 分钟前
Java_MySQL介绍
java·开发语言·mysql
于是我说21 分钟前
一份Python 面试常见问题清单 覆盖从初级到高级
开发语言·python·面试