当前位置: 首页 > news >正文

JVM知识——安全点

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

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

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

相关文章:

  • 【鸿蒙 HarmonyOS 4.0】网络请求
  • ElasticSearch聚合操作
  • SHERlocked93 的 2017 年终总结
  • Linux常见的指令
  • 用HTML5 Canvas创造视觉盛宴——动态彩色线条效果
  • OpenAI超级视频模型Sora技术报告解读,虚拟世界涌现了
  • QT中调用python
  • 跨界计算与控制,强化显控和UI, 君正MPU再添新旗舰--Ingenic MPU X2600隆重发布
  • Bricks WordPress 网站生成器中存在 RCE 漏洞,黑客正在积极利用
  • C++编程知识
  • 专业140+总分420+南京信息工程大学811信号与系统考研经验南信大电子信息与通信工程,真题,大纲,参考书
  • mescroll 在uni-app 运行的下拉刷新和上拉加载的组件
  • 【Visual Studio】技巧 :自动与活动文档同步
  • 计算机设计大赛 深度学习动物识别 - 卷积神经网络 机器视觉 图像识别
  • 虚拟机器centos7无法识别yum 命令异常处理笔记
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 77. Combinations
  • Electron入门介绍
  • laravel 用artisan创建自己的模板
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • log4j2输出到kafka
  • 每天10道Java面试题,跟我走,offer有!
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 如何使用 JavaScript 解析 URL
  • 三分钟教你同步 Visual Studio Code 设置
  • 微信小程序填坑清单
  • 我是如何设计 Upload 上传组件的
  • 一天一个设计模式之JS实现——适配器模式
  • 【干货分享】dos命令大全
  • UI设计初学者应该如何入门?
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 如何在招聘中考核.NET架构师
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (一) storm的集群安装与配置
  • (一)kafka实战——kafka源码编译启动
  • (转)scrum常见工具列表
  • ./configure,make,make install的作用
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .net中调用windows performance记录性能信息
  • [ C++ ] STL---string类的使用指南
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证