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

JVM运行时区域——对象创建内存分配过程

        新创建的对象都存放在伊甸园区域,当垃圾回收时,将伊甸园区域的垃圾数据销毁,然后将存活的对象转移到幸存者0区域,之后创建的新的对象还是存放在伊甸园区域,等到再次垃圾回收后,将伊甸园区域和幸存者0区域中存活的对象一起转移到幸存者1区域中,必须保证幸存者1和幸存者2区域有一个是空的,两个区域相互转移,每个对象的对象头中会有一个记录此对象经历的垃圾回收的次数,这个次数可以设置,最大值是15,当一个对象经历了15次垃圾回收后仍然存活,就将此对象转移到老年代中,老年代的回收的次数较少,等到老年代的内存不够用时,才会整体回收老年代的数据。如果清理了老年区,还是无法保存对象,就会报出堆空间溢出的异常。

        下图示例(红色的表示垃圾数据,绿色的表示存活数据,数字表示此对象经历的垃圾回收的次数):

 

 

 

http://www.lryc.cn/news/96428.html

相关文章:

  • Springboot项目排除Bean的方法
  • 阿里云国际版云服务器防火墙设置
  • 科技资讯|苹果开放Vision Pro头显开发套件申请,此前曝光三款电池
  • Langchain 的 LLMChain
  • 100天精通Golang(基础入门篇)——第17天:深入解析Go语言中的指针
  • 第七章:WILDCAT: 弱监督学习的深度卷积神经网络用于图像分类、点位定位和分割
  • Axios-post请求下载文件
  • 视频增强技术-对比度增强
  • uni-app点击按钮弹出提示框(以弹窗的形式显示),选择确定和取消
  • linux部署es+kibana
  • 二十三种设计模式第十七篇--迭代子模式
  • 《零基础入门学习Python》第056讲:论一只爬虫的自我修养4:网络爬图
  • 23.7.26总结(博客项目)
  • 安全第一天
  • SpringCloud学习路线(12)——分布式搜索ElasticSeach数据聚合、自动补全、数据同步
  • cloudstack的PlugNicCommand的作用
  • LT9211C 是一款MIPI/RGB/2PORT LVDS互转的芯片
  • 【Rust 基础篇】Rust 通道(Channel)
  • 学习 C语言第二天 :C语言数据类型和变量(下)
  • 【Kubernetes资源篇】ingress-nginx最佳实践详解
  • Java基础阶段学习哪些知识内容?
  • 【HISI IC萌新虚拟项目】ppu整体uvm验证环境搭建
  • 图像处理之hough圆形检测
  • el-upload文件上传(只能上传一个文件且再次上传替换上一个文件) vue3+vite+ts
  • 随手笔记——根据点对来估计相机的运动综述
  • ip校园广播音柱特点
  • 用 Node.js 手写 WebSocket 协议
  • Xilinx AXI VIP使用教程
  • mysql主主架构搭建,删库恢复
  • pythonweek1