java 虚拟机gc回收

孩子不是海子 2017-05-20 02:34:57
《深入理解java虚拟机》中说java虚拟机在让java所有线程都“跑到”safepoint,从而安全地进行垃圾回收时,有两种方式:1,抢占式中断,2,主动式中断;前者说jvm先中断所有线程,然后判断所有线程是不是都在safepoint,如果不是就恢复线程直到其运行到safepoint,后者说等到jvm想要进行垃圾回收时只会设置一个标志位,让每个线程自己去判断,如果满足则中断,而每个线程要足总的就是不断的去轮训这个标志位。我想问的是,这个jvm垃圾回收操作是必须等到所有线程都到safepoint了在一起做还是针对每个线程单独做?(有方法区回收,还有Java堆回收)
哪位大侠可以给我指点迷津,最好也不要仅仅限于这一点,可以为了给我讲清楚扩展一点
...全文
192 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
孩子不是海子 2017-05-20
  • 打赏
  • 举报
回复
对了,书上面说的safe region我也不太明白,也帮我解释一下,谢谢

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧