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

JVM系列(七) -对象的内存分配流程

一、摘要

在之前的文章中,我们介绍了类加载的过程、JVM 内存布局和对象的创建过程相关的知识。

本篇综合之前的知识,重点介绍一下对象的内存分配流程。

二、对象的内存分配原则

在之前的 JVM 内存结构布局的文章中,我们介绍到了 Java 堆的内存布局,由 年轻代 (Young Generation) 和老年代 (Old Generation) 组成,默认情况下按照1 : 2的比例来分配空间。

其中年轻代又被划分为三个不同的区域:Eden 区、From Survivor 区、To Survivor 区,默认情况下按照8 : 1 : 1的比例来分配空间。

Java 堆的内存布局,可以用如下图来概括。

当创建的对象不再被使用了是需要被回收掉的,以便腾出空间给新的对象使用,这就是对象的垃圾回收,也就是对象的 GC,我们会在后续的文章中再次介绍对象的垃圾回收算法以及垃圾收集器。

本次我们重点介绍下,创建不同大小的对象,在堆空间中发生的内存分配变化,以便后续更好的理解 GC 调优过程。

2.1、对象优先分配在 Eden 区

默认情况下,创建的对象会优先分配在年轻代的 Eden 区,当 Eden 区不够用的时候,会触发一次 Minor GC。

什么是 Minor GC 呢?

Minor GC 指的是 JVM 发生在年轻代的垃圾回收动作࿰

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Grafana 在 Linux 系统上安装
  • 打造温馨家居,全屋智能家居解决方案
  • 【大模型实战篇】大模型周边NLP技术回顾及预训练模型数据预处理过程解析(预告)
  • 数据分析:R语言计算XGBoost线性回归模型的SHAP值
  • Latex使用方式
  • 面向GPU计算平台的归约算法的性能优化研究
  • vue3+ts封装类似于微信消息的组件
  • @Transactional 参数详解
  • OpenGL/GLUT实践:实现反弹运动的三角形动画与键盘控制(电子科技大学信软图形与动画Ⅱ实验)
  • 数据分析——基础
  • cowrie部署中遇到的坑
  • sqlite3 相关知识
  • 【佳学基因检测】在bagisto中,grouped products(同组产品)和bundled products(打包产品)有什么不同?
  • Nvidia GPU benchmark压力测试工具
  • 003: Visual Studio 配置 VTK 开发环境的方法与比较
  • Google 是如何开发 Web 框架的
  • canvas 高仿 Apple Watch 表盘
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • emacs初体验
  • gulp 教程
  • JavaScript设计模式系列一:工厂模式
  • k8s 面向应用开发者的基础命令
  • leetcode386. Lexicographical Numbers
  • Object.assign方法不能实现深复制
  • Promise面试题,控制异步流程
  • Rancher如何对接Ceph-RBD块存储
  • Redis字符串类型内部编码剖析
  • session共享问题解决方案
  • Shadow DOM 内部构造及如何构建独立组件
  • SQLServer之创建数据库快照
  • 创建一种深思熟虑的文化
  • 飞驰在Mesos的涡轮引擎上
  • 回流、重绘及其优化
  • 前端知识点整理(待续)
  • 学习笔记TF060:图像语音结合,看图说话
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​ubuntu下安装kvm虚拟机
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #Z2294. 打印树的直径
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (js)循环条件满足时终止循环
  • (Python) SOAP Web Service (HTTP POST)
  • (Qt) 默认QtWidget应用包含什么?
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (三分钟)速览传统边缘检测算子
  • (一) springboot详细介绍
  • . NET自动找可写目录
  • .Net Core 微服务之Consul(三)-KV存储分布式锁
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET_WebForm_layui控件使用及与webform联合使用