内存溢出
内存泄漏
Stop The World
垃圾回收的并行和并发
安全点和安全区域
程序执行时并非在所有地方都能停顿下来开始GC,只有在特定的位置才能停顿下来开始GC,这些位置成为“安全点”
如何在GC发生时,检查所有线程都跑到最近的安全点停顿下来呢?
- 抢占式中断(中断所有线程,如果还有线程不在安全点,就恢复线程,让线程跑到安全点)
- 主动式中断(设置一个中断标志,各个变成运行到Safe Point时候主动轮询,如果这个中断标志为真,则将自己进行中断挂起)
安全区域
强软弱虚四种引用之间的区别
这四种引用强度依次递减
OOM的产生也是因为强引用的存在
当内存不够了,就会被回收;否则不会被回收
已发生GC就会被回收
;否则不会被回收
[外链图片转存中…(img-DUX9ud3H-1657778953576)]
已发生GC就会被回收
[外链图片转存中…(img-vbzSQ0Lo-1657778953577)]