Java面试题004-JVM中的共享区,哪些可以作为GC ROOT?

堆区和方法区是所有线程共享的,栈、本地方法栈、程序计数器是每个线程独有的

Posted by Sunfy on 2021-07-16
Words 193 and Reading Time 1 Minutes
Viewed Times
Viewed Times
Visitors In Total

图示

在这里插入图片描述

  • 堆区和方法区是所有线程共享的,栈、本地方法栈、程序计数器是每个线程独有的

  • 什么是gc root

    JVM在进行垃圾回收时,需要找到垃圾对象,也就是没有被引用的对象,但是直接找“垃圾”对象是比较耗时的,所以反过来,先找“非垃圾”对象,也就是正常对象,那么就需要从某些“根”的引用路径找到正常对象,而这些“根”有一个特征,就是它只会引用其他对象,而不会被其他对象引用,例如:栈中的本地变量、方法区中的静态变量、本地方法栈中的变量、正在运行的线程等可以作为gc root


Copyright 2021 sunfy.top ALL Rights Reserved

...

...

00:00
00:00