JVM源码分析之安全点safepoint
线程在执行GC的时候,需要收集GC Roots,这个包含线程栈中使用的对象,类中的静态常量以及静态变量,方法中使用的synchronized的锁对象等,然后通过可达性分析进行对象的回收操作。
线程在执行的执行的时候,有一些关键点上,JVM在编译的时候已经埋下了点,可以收集当前线程使用到的对象有哪些,OOPM这个引用指针就是负责这个事情,在收集GC Roots的时候,虚拟机需要让所有的线程运行到SafePoint点上面,没有运行到SafePoint点上面的,JVM在收集之前会进行等待,让线程运行到SafePoint点上,下面就是打印的GC收集的时间以及等待线程运行到SafePoint需要的时间。
相关推荐
瓜牛呱呱 2020-11-12
柳木木的IT 2020-11-04
yifouhu 2020-11-02
lei0 2020-11-02
源码zanqunet 2020-10-28
源码zanqunet 2020-10-26
一叶梧桐 2020-10-14
码代码的陈同学 2020-10-14
lukezhong 2020-10-14
lzzyok 2020-10-10
anchongnanzi 2020-09-21
clh0 2020-09-18
changcongying 2020-09-17
星辰大海的路上 2020-09-13
abfdada 2020-08-26
mzy000 2020-08-24
shenlanse 2020-08-18
zhujiangtaotaise 2020-08-18
xiemanR 2020-08-17