GC Roots
来源:互联网 发布:店宝宝软件好不好 编辑:程序博客网 时间:2024/06/16 13:59
常说的GC(Garbage Collector) roots,特指的是垃圾收集器(Garbage Collector)的对象,GC会收集那些不是GC roots且没有被GC roots引用的对象。
一个对象可以属于多个root,GC root有几下种:
- Class - 由系统类加载器(system class loader)加载的对象,这些类是不能够被回收的,他们可以以静态字段的方式保存持有其它对象。我们需要注意的一点就是,通过用户自定义的类加载器加载的类,除非相应的
java.lang.Class
实例以其它的某种(或多种)方式成为roots,否则它们并不是roots,. - Thread - 活着的线程
- Stack Local - Java方法的local变量或参数
- JNI Local - JNI方法的local变量或参数
- JNI Global - 全局JNI引用
- Monitor Used - 用于同步的监控对象
- Held by JVM - 用于JVM特殊目的由GC保留的对象,但实际上这个与JVM的实现是有关的。可能已知的一些类型是:系统类加载器、一些JVM知道的重要的异常类、一些用于处理异常的预分配对象以及一些自定义的类加载器等。然而,JVM并没有为这些对象提供其它的信息,因此就只有留给分析分员去确定哪些是属于"JVM持有"的了。
以下是一张由Java Profiler的标示出哪些是GC roots的示例图:
0 0
- GC ROOTS
- GC roots
- GC Roots
- GC roots
- GC Roots
- .net GC (GC roots)小结
- GC roots的原理分析
- JVM Knowleadge-垃圾回收GC Roots Tracing
- JVM 垃圾回收GC Roots Tracing
- JVM Knowleadge-垃圾回收GC Roots Tracing
- GC roots如何判断对象不可达
- 【证】:那些可作为GC Roots的对象
- GC用的引用可达性分析算法中,哪些对象可作为GC Roots对象
- gc()
- GC
- GC
- GC
- GC
- tomcat使用memcached完成集群(session共享实现方式)
- POI操作Excel详解,HSSF和XSSF两种方式
- 单总线协议(1—wire)
- 查看android手机中安装apk的包名等信息
- 读写自旋锁详解,第 1 部分
- GC Roots
- 2 :为什么要类加载器,类加载器做了什么,加载类的过程
- debian 搭建python图像识别环境
- Android中dumpsys命令使用
- Ubuntu apt-get update 失败
- Android Viewpager实现3D画廊效果
- 谱聚类
- Spark之Scala学习之路(二)
- 3 jvm runtime data area 运行时数据区 内存分配