2 个回答

你看看哪些是可以做为GCRoot的根节点就知道了,你JVM在运行的时候,所有存错的对象,本身就类似一棵树,找到所有的树根节点,就找到所有存活的类了。

JVM在进行GC的时候一般都会在安全点或者安全区域,在这个时候对象的引用关系不会变化。在编译器对代码编译的时候,会预先在这些地方生成栈(或者寄存器)中哪些位置引用了哪些对象(oopmap原理),这样在进行GC时就很容易顺着GC Root找到哪些类对象需要回收了!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题