美文网首页
对象内存布局

对象内存布局

作者: Zeppelin421 | 来源:发表于2022-06-27 15:31 被阅读0次

存储布局

对象在内存中的存储布局
  • markword
    对象头 8字节。标识着头对象的状态,被回收多少次
  • class pointer
    -XX:+UseCompressedClassPointers 为4字节,不开启为8字节
    T t = new T() t里面的class pointer指向t.class

.class文件被ClassLoader加载到内存空间的时候会为每个.class生成一个对象
通常来说一个.class文件只会被一个ClassLoader加载

  • instance data
    成员变量
    -XX:+UseCompressedOops 为4字节,不开启为8字节
    Ordinary Object Pointer 引用类型
  • padding
    8的倍数。数据是一块一块读取的,所以需要对齐。

JVM常用参数

  • jvm参数

64位系统指针默认是64bit
工具:JOL = Java Object Layout

Object o = new Object();
System.out.println(ClassLayout.parseIntance(o).toPrintable());

相关文章

  • java 内存布局

    Java 内存的布局主要是统计Java对象占用内存的大小。 Java对象的内存布局:对象头(Header)、实例数...

  • 一文详解 NSObject 对象的内存布局

    一文详解 NSObject 对象的内存布局一文详解 NSObject 对象的内存布局

  • Java对象

    Java对象的内存布局?对象的访问?new对象的过程? 一、Java对象的内存布局 对象的创建过程就是在堆上分配实...

  • JVM(七)内存与垃圾回收|对象的实例化内存布局与访问定位+直接

    本文主要讲对象相关(对象实例化、内存布局、访问定位)和直接内存相关的内容。 目录 1 对象的实例化内存布局与访问定...

  • iOS 内存管理

    一.内存布局以及结构 1.1内存布局 1.2内存管理方案 内存管理方案有3种:TaggedPointer (小对象...

  • 对象的内存布局

    对象的内存布局 在Hotspot虚拟机中,对象在内存中的布局可以分为三块区域: 对象头(Header)、实例数据(...

  • JAVA运行时—内存分配情况

    对象的内存布局 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、实例数据...

  • Java对象的内存布局以及访问方式

    对象的内存布局 在HotSpot虚拟机中,对象的内存中的布局可以分为3块区域:对象头,实例数据和对齐填充。 对象头...

  • 对象内存布局

    类的内存布局 看下面的程序中,输出的结果会是what? 运行结果 分析 Inside C++ Object Mod...

  • 对象内存布局

    初始化一个对象 对象没初始化之前,调试窗口执行x/4gx objc2输出如下: 可见栈地址里面放的还是空的执行代码...

网友评论

      本文标题:对象内存布局

      本文链接:https://www.haomeiwen.com/subject/eptovrtx.html