JVM知识——安全点

安全点是JVM要准备进行垃圾回收时,选定一些特定的位置,当应用程序线程执行到这些位置时,安全的先暂停下来,以便JVM执行GC线程进行垃圾回收。

JVM在字节码指令中会选取一些指令作为安全点,安全点的选取一般是循环结束、方法调用前后、异常跳转等指令位置。

如果线程长时间无法到达安全点,如线程处于sleep休眠或blocked阻塞状态,为了处理这种情况,JVM引入了安全区域的概念,安全区域是指在一段代码片段中,引用关系不会发生改变,因此只要线程处在这个区域中,外部如果要进行垃圾回收它都是安全的。当应用程序线程进入安全区域时,会标识自己已经进入了安全区域,这样GC线程就不用考虑我了,我不会给你造成任何麻烦,当此线程要离开安全区域时,会检查GC垃圾回收是否已经完成,如果完成了,则继续向下执行,否则,就必须等待,直到收到可以离开安全区域的信号为止。

相关推荐
sxdtzhp12 小时前
软件系统中个人照片安全控制措施
安全·敏感信息·个人照片·信息泄漏
其实防守也摸鱼13 小时前
Sqlmap:选取sqli-labs中less-8进行sqlmap注入测试
前端·css·网络·安全·web安全·less·sqli-labs
woniu_buhui_fei13 小时前
JVM垃圾回收
java·jvm
沉下去,苦磨练!13 小时前
python的全局解释器锁(GIL)到垃圾回收机制
jvm
Co_Hui14 小时前
JVM 内存结构
jvm
上海云盾-小余14 小时前
企业云服务器安全底线:漏洞自查、攻击溯源与应急防护手册
运维·服务器·安全
Little Tomato14 小时前
深入浅出高并发:从 JVM 锁竞争到分布式事务的性能博弈
jvm·分布式
aaaffaewrerewrwer14 小时前
免费在线图片压缩工具推荐|批量压缩 + 无需上传 + 浏览器本地处理
安全·个人开发
TechWayfarer14 小时前
账号安全实战:基于IP归属地基线的三原则异地登录风控模型
服务器·网络·python·安全·网络安全
南境十里·墨染春水14 小时前
线程池学习(二)线程池理解
java·jvm·学习