栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

GC 垃圾回收器

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GC 垃圾回收器

 

哪些可以作为GC Roots?

1.在虚拟机栈(栈帧中的本地变量表)中引用的对象。

2.方法区中类静态属性引用的对象。

3.在方法区中引用的对象,如字符串常量池(String Table)

里的引用

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

5.Java虚拟机内部的引用,如基本数据类型对应的Class对象以及一些常驻的异常对象等。

6.所有同步锁持有的对象

7.反应Java虚拟机内部情况的JMXBean、JVMTI中注册的回调、本地代码缓存等

前提:

  当Java虚拟机发觉内存资源紧张的时候,就会自动地去清理无用变量所占用的内存空间。当然,程序员可以在Java程序中显式地使用System.gc()或Runtime.getRuntime().gc()来通知垃圾回收程序,至于垃圾回收程序运不运行,什么时候运行,都是无法控制的。

如果对象引用被置为null,垃圾收集器不会立即释放对象占用的内存

而会在下一个垃圾回收周期中,这个对象将是可被回收的.

是可被回收的:并不是说下一个回收周期,一定去释放。释放针对的是一段已被使用的内存,

回收是垃圾收集器的一个动作,结果就是释放内存。

 

 标记清除

标记压缩 

复制算法

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/973752.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号