C层面是如何设计的呢?
JVM在进行GC的时候一般都会在安全点或者安全区域,在这个时候对象的引用关系不会变化。在编译器对代码编译的时候,会预先在这些地方生成栈(或者寄存器)中哪些位置引用了哪些对象(oopmap原理),这样在进行GC时就很容易顺着GC Root找到哪些类对象需要回收了!
4 回答1.1k 阅读✓ 已解决
4 回答1.1k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答694 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.6k 阅读
你看看哪些是可以做为GCRoot的根节点就知道了,你JVM在运行的时候,所有存错的对象,本身就类似一棵树,找到所有的树根节点,就找到所有存活的类了。