JVM知识——安全点

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

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

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

相关推荐
Muyuan19987 分钟前
25.Paper RAG Agent 优化记录:上传反馈、计算器安全与 Chunk 参数调整
python·安全·django·sqlite·fastapi
byoass1 小时前
企业云盘数据备份与恢复策略:定时备份增量备份异地容灾实战
网络·安全·云计算
Amy187021118232 小时前
智能防雷 筑牢建筑与设备安全防线
安全
txg6662 小时前
MDVul:用语义路径重塑漏洞检测的图模型能力
人工智能·安全·网络安全
xiaozhazha_2 小时前
企业级AI视频会议私有化部署实践:应对安全合规与成本挑战的技术架构解析
人工智能·安全·架构
KKKlucifer2 小时前
全域安全运维服务能力建设关键技术解析
运维·安全
南行*2 小时前
CodeQL 初探
安全·网络安全·系统安全
Fullde福德负载箱厂家3 小时前
负载箱的隐性成本与全周期经济性:用户应知的持有成本与价值管理
大数据·安全·制造
Bruce_Liuxiaowei3 小时前
CVE-2026-31431 (Copy Fail) 漏洞复现与验证记录
linux·安全·漏洞复现·cve-2026-31431