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

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;
在这里插入图片描述

相关文章:

  • 初识Linux · 传输层协议TCP · 下
  • 推荐一款免费开源工程项目管理系统软件,根据工程项目全过程管理流程开发的OA 办公系统
  • 为什么tcp不能两次握手
  • PyTorch API 8 - 工具集、onnx、option、复数、DDP、量化、分布式 RPC、NeMo
  • ScaleTransition 是 Flutter 中的一个动画组件,用于实现缩放动画效果。
  • Linux在web下http加密和配置虚拟主机及动态页面发布
  • Visual Studio Code 前端项目开发规范合集【推荐插件】
  • 《React Native与Flutter:社交应用中用户行为分析与埋点统计的深度剖析》
  • React Hooks:从“这什么鬼“到“真香“的奇幻之旅
  • 卡尔曼滤波算法简介与 Kotlin 实现
  • 202535| Kafka架构与重要概念+幂等性+事务
  • FreeSWITCH 简单图形化界面42 - 使用mod_vad模块进行语音检测
  • 可以抛弃postman啦, API测试工具Bruno实用教程(二):进阶篇
  • 高斯过程回归(GPR)原理的通俗解释
  • 从 SpringBoot 到微服务架构:Java 后端开发的高效转型之路
  • 5.2 参数管理
  • vue3的响应式设计原理
  • Tengine:高性能Web服务器的原理与应用实践优雅草卓伊凡
  • 通俗的桥接模式
  • 如何安装不同版本的ESP-IDF,并配置Vscode插件,以及在Vscode中切换版本
  • 体验中国传统文化、采购非遗文创,波兰游客走进上海市群艺馆
  • 综艺还有怎样的新可能?挖掘小众文化领域
  • 上财发布“AI+课程体系”,人工智能如何赋能财经教育?
  • 看展览|2025影像上海艺博会:市场与当代媒介中的摄影
  • 河南省平顶山市副市长许红兵主动投案,接受审查调查
  • 国家主席习近平同普京总统出席签字和合作文本交换仪式