JVM知识——安全点

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

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

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

相关推荐
软件供应链安全指南5 小时前
Forrester发布《2025年应用安全状况报告》,复杂性下的防御体系重构
安全·重构
Fnetlink17 小时前
零信任架构在移动办公中的应用与安全保障
安全·架构
卓豪终端管理7 小时前
当终端散落四方,安全如何凝聚成墙?
安全
软件供应链安全指南8 小时前
悬镜安全:情报驱动的供应链安全治理
安全
仰泳之鹅8 小时前
【杂谈】如何将文件夹列入白名单以避免被安全中心当做病毒删掉
安全
软件供应链安全指南8 小时前
权威认证加持!云鲨RASP v4.0:信通院认可的应用内生安全防御标杆
网络·安全
小北方城市网8 小时前
Spring Boot 接口开发实战:RESTful 规范、参数校验与全局异常处理
java·jvm·数据库·spring boot·后端·python·mysql
2501_948120159 小时前
云原生应用的安全开发与防护策略
安全·云原生
国科安芯9 小时前
RISC-V架构抗辐照MCU在航天器载荷中的SEU/SEL阈值测试与防护策略
单片机·嵌入式硬件·安全·架构·安全威胁分析·risc-v
冬奇Lab9 小时前
【Kotlin系列13】DSL设计:构建类型安全的领域语言
开发语言·安全·kotlin