zoukankan      html  css  js  c++  java
  • 对象在内存中的存储布局?Object o = new Object()在内存中占用多少字符?

    对象的内存布局可以分为两种对象:普通对象和数组对象。

    一、普通对象:

      1. 对象头(Mark Word):8Byte

      2. 类指针(Class Pointer): -XX:+UseCompressedClassPointers开始的话是4Byte,不开启是8Byte

      3. 实例数据(成员变量): 

      引用类型:-XX:+UseCOmparessedOops 开始的话4个字节,不开启则为8个字节

    ​   基本数据类型:

        

        4.Padding对齐,8的倍数。假如这个对象前面几项占用的字节为15则会补1个字节,则这个对象占用16字节

    二、数组对象,比普通对象多一个数组长度(4个Byte)

      1.markword 8个字节

    ​  2.ClassPointer指针 4/8个字节

    ​   3.数组长度:4个字节

    ​   3.数组数据:数组元素数据占用大小A(按普通对象或者数组来计算) * 数组长度

    ​   4.Padding对齐,8的倍数。

     三、代码实验验证

    参考:

    https://blog.csdn.net/LiushaoMr/article/details/104345322
    https://www.codenong.com/cs105956501/

  • 相关阅读:
    DG查看恢复进度
    dataguard主备延迟多长时间的查询方法
    DG动态性能视图详解
    Django之ORM的增删改查操作流程
    IPython
    render函数和redirect函数的区别+反向解析
    http状态码
    图的基本概念
    图的遍历
    vue之webpack打包工具的使用
  • 原文地址:https://www.cnblogs.com/iamswf/p/14579458.html
Copyright © 2011-2022 走看看