图示
堆区和方法区是所有线程共享的,栈、本地方法栈、程序计数器是每个线程独有的
什么是
gc root
?JVM在进行垃圾回收时,需要找到垃圾对象,也就是没有被引用的对象,但是直接找“垃圾”对象是比较耗时的,所以反过来,先找“非垃圾”对象,也就是正常对象,那么就需要从某些“根”的引用路径找到正常对象,而这些“根”有一个特征,就是它只会引用其他对象,而不会被其他对象引用,例如:栈中的本地变量、方法区中的静态变量、本地方法栈中的变量、正在运行的线程等可以作为
gc root
。
...
...
00:00
00:00
Copyright 2021 sunfy.top ALL Rights Reserved