首页 > 编程知识 正文

gc日志如何分析,root设备

时间:2023-05-06 12:34:32 阅读:130573 作者:184

报道目录GC Root分析问题解决适用场景构成要素定义可以作为GC Root的对象例

用GC根分析解决问题

问题

java语言会自动执行垃圾回收,但什么是垃圾回收? 简而言之,内存中已经没有使用的空间是垃圾,那么如何确定对象是否可以回收呢? 这时,引用计数法出现了,用这种方法很难解决循环引用问题,怎样才能解决这个问题呢?

解决

枚举根节点进行可达性分析(搜索路径和) )。

适用的场景复制算法、标记-清除算法、标记-压缩都采用了可达性分析的方法

构成" GC roots "或跟踪GC "路由集合"的一部分是必须活跃的路由集合

定义路由搜索算法是JVM判断对象是否存在的算法。 该算法的基本思想是以一系列“GC Roots”对象为起点从这些节点向下搜索。 如果一个对象和GC Roots不能到达,则该对象是无用的,并且可以重用。

GC Root的对象虚拟机堆栈(堆栈帧中的局部变量区域,也称为局部变量表)、方法区域中的静态属性引用的对象方法区域中的常量引用的对象局部方法堆栈中的jnn/* * @ description : todo (gcroot示例) * @author wwdhb * @date 2019年6月27日(*1虚拟机堆栈(也称为堆栈帧中的本地变量区域本地变量表) 2方法区域的静态属性引用的对象* 3方法区域的常量引用的对象* 4本地方法堆栈的JNI (朴素方法)引用的对象(例如:线程的start方法)/puput //第2类gcroot//privatestaticfinalgcrootdemo 3t3=newgcrootdemo3(8; //第三类gcrootprivatestaticvoidm1({ gcrootdemot1=newgcrootdemo ) ); System.gc (; System.out.println; } publicstaticvoidmain (字符串[ ] args ) {m1 ); //第1种GC路径}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。