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

JVM(四)-- 对象的实例化内存布局和直接内存

目录

一、对象的实例化

1. 创建对象的方式

2. 创建对象的步骤

二、对象的内存布局

三、直接内存

1. 概述

2. 直接内存的OOM与内存大小设置


一、对象的实例化

1. 创建对象的方式

2. 创建对象的步骤

二、对象的内存布局

对象头包含两部分:运行时元数据类型指针。运行时元数据又包括哈希值、GC分代年龄、锁状态标志、线程持有的锁等。

通过如下代码来了解一下对象实际的内存布局:

从上述代码我们可以看到,定义了一个Customer类,然后再CustomerTest的main方法中创建了一个Customer的对象实例。

下图展示了创建这个对象实例的完整过程。可以看到对象头中存放了运行时元数据和类型指针,而类型指针指向了方法区(元空间)中该类所对应的类信息。

三、直接内存

1. 概述

IO和NIO是 Java 中处理输入输出的两种模型。

IO是同步阻塞式的输入输出流,通过字符流和字节流传输数据;NIO是同步非阻塞式的输入输出流,通过缓冲区或者通道传输数据。

下图是IO和NIO的区别。

2. 直接内存的OOM与内存大小设置

http://www.dtcms.com/a/390748.html

相关文章:

  • G1垃圾回收器的优势
  • 内存分配策略
  • Python采集Tik Tok视频详情,Tik TokAPI接口(json数据返回)
  • 实时通信技术大比拼:长轮询、短轮询、WebSocket 与 SSE 深度解析及实战指南
  • ICML 2025|图像如何与激光雷达对齐并互补?迈向协调的多模态3D全景分割
  • 基于Web的3D工程应用图形引擎——HOOPS Communicator技术解析
  • 【每日一问】运放的失调电压是什么?对于电路有何影响?
  • 【轨物方案】轨物科技新型储能管理系统:以AIoT技术驱动储能资产全生命周期价值最大化
  • 线性回归 vs 逻辑回归:从原理到实战的全面对比
  • HashMap的底层原理
  • 股指期货超短线如何操作?
  • 【洛谷】算法竞赛中的树结构:形式、存储与遍历全解析
  • 育苗盘补苗路径规划研究
  • API Gateway :API网关组件
  • conda激活虚拟环境
  • 重构大qmt通达信板块预警自动交易系统--读取通达信成分股
  • 25.9.19 Spring AOP
  • d38: PostgreSQL 简单入门与 Vue3 动态路由实现
  • No006:订阅化时间管理——迈向个性化、生态化的AI服务模式
  • 微服务-sentinel的理论与集成springcloud
  • C++学习:哈希表unordered_set/unordered_map的封装
  • 圆柱永磁体磁场及梯度快速计算与可视化程序
  • 种群演化优化算法:原理与Python实现
  • 基于IPDRR模型能力,每个能力的概念及所要具备的能力产品
  • NUST技术漫谈:当非结构化数据遇见状态跟踪——一场静默的技术革命
  • 在技术无人区开路,OPPO的指南针是“人”
  • AI与NPC发展过程及技术
  • Redis数据库(三)—— 深入解析Redis三种高可用架构:主从复制、哨兵与集群模式
  • (leetcode) 力扣100 13最大子序和(动态规划卡达内算法分治法)
  • SpringBoot整合JUnit:单元测试从入门到精通