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

JVM对象创建内存分配

对象创建的主要流程:
检查加载类–》分配内存–》初始化–》设置对象头–》实例化,执行init方法。
在内存分配中,虚拟机将为新生对象内存分配
在这里插入图片描述
Minor GC : 新生代垃圾收集,特点是频繁,回收速度快;
Full GC : 老年代回收,慢;
Eden 与Survivor区默认是 8:1:1

大量的对象被分配在eden区,满了后触发minor gc; 垃圾回收后,剩余少量存活的被挪到survivor区,下一次eden区满了后,再次触发minor gc, 把eden区和survivor区垃圾对象回收,把剩余存活的对象一次性挪到另一块空的survivor区。
一般情况,让eden区尽量大,survivor够用即可;

案例
假设分配为3G的,年轻代和老年代为1G和2G;
其中eden比为 8:1:1
假设每秒产生500个订单,每秒产生的对象假设为100M;运行8秒,即可占满eden区,即每8秒有100M到老年代,触发Full Gc;
大量的full GC;

修改:将年轻代调大翻倍,此时运行第16秒后,移动到survivor区,下次minor gc,少量的移动到老年代;减少full GC;
在这里插入图片描述

http://www.xdnf.cn/news/5271.html

相关文章:

  • [特殊字符]️ 快速检测与修复TLS 1.0/1.1漏洞指南
  • 人形机器人:主控芯片
  • 红黑树算法笔记(二)性能对比实验
  • 解密数据结构之位图和布隆过滤器
  • TCP IP
  • 社区商城分销团长扩充与扩散策略优化的系统方案
  • Information Fusion期刊期刊投稿经验分享
  • 23、DeepSeekMath论文笔记(GRPO)
  • 计算机网络与多线程同步机制详解
  • Linux系统之----模拟实现shell
  • 轻量级因果语言视觉模型简述:nanoVLM-222M
  • 每日一题:两个仓库的最低配送费用问题
  • DNS负载均衡和CDN的区别
  • Redis 主从同步与对象模型(四)
  • 出现 SEGMENT: ?C_INITSEG 的原因:
  • ERP学习(一): 用友u8安装
  • 结合 ECharts / Ant Design Blazor 构建高性能实时仪表盘
  • smbd:快速拉取服務端SMB共享文件脚本工具
  • 从0开始学linux韦东山教程第三章问题小结(2)
  • 长短期记忆网络(LSTM)深度解析:理论、技术与应用全景
  • 每日算法刷题Day2 5.10:leetcode数组1道题3种解法,用时40min
  • MySQL索引详解(上)(结构/分类/语法篇)
  • Excel里面怎样批量去掉字串包含的标点符号
  • Qt解决自定义窗口样式不生效问题
  • 基于ssm+mysql的快递管理系统(含LW+PPT+源码+系统演示视频+安装说明)
  • Linux 离线安装 Docker 和 Docker Compose 最新版 的完整指南
  • 【Linux基础】程序和软件安装管理命令
  • Python爬虫学习路径与实战指南 06
  • Java基础 集合框架 Collection接口和抽象类AbstractCollection
  • Java Spring 常用注解详解