美文网首页
java 一个空对象占多少字节

java 一个空对象占多少字节

作者: 一方乌鸦 | 来源:发表于2020-06-17 17:01 被阅读0次

Object o = new Object():
在32位系统下:
java空对象占8个字节,对象的引用占4个字节。
所以上面那条语句所占的空间是4byte+8byte=12byte.
java中的内存是以8字节的倍数来分配的,所以分配的内存是16byte.
举个例子:

Class O {
  int i;
  byte j;
  String s;
}

其所占内存的大小是空对象(8)+int(4)+byte(1)+String引用(4)=17byte,因要是8的整数倍,所以其占大小为24byte.

为什么 java 对象按照8字节的倍数分配?

其目的是 数据对齐(alignment),它允许以一些空间为代价加快内存访问。如果数据未对齐,则处理器需要在加载内存后进行一些转换才能访问它。

此外,垃圾回收简化(并加快)最小分配单元的大小。

Java不需要8字节(64位系统除外),但由于32位体系结构是创建Java时的常态,因此Java标准中可能需要4字节对齐。

相关文章

  • java 一个空对象占多少字节

    Object o = new Object():在32位系统下:java空对象占8个字节,对象的引用占4个字节。所...

  • JAVA过关题•Java中一个字符占多少个字节

    Java中一个字符占多少个字节,扩展再问int, long, double占多少字节 首先java中基本数据类型,...

  • 这个Java程序员居然对着自己的项目“下黑手”,颠覆认知啊!

    一个对象占多少字节? 关于对象的大小,对于C/C++来说,都是有sizeof函数可以直接获取的,但是Java似乎没...

  • oc对象本质

    一个NSObject 对象占多少内存 一个NSObject对象所占用的内存是16个字节(isa 只占8字节)。为什...

  • OC对象的内存:一个NSObject对象占多少内存?

    问:一个NSObject对象占多少内存? 答:NSObject 对象占16个字节的内存。NSObject本质上一个...

  • java基础知识

    java类可能有很多个对象,但只能有一个Class对象 java基本数据类型有哪些,int, long占几个字节 ...

  • ios面试题

    1 NSobject本质是什么,占用多少内存 2 一个自定义对象占多少内存 对象实际 一个isa指针占用8个字节I...

  • iOS-Objc基础

    一. NSObjcet对象在内存中占多少个字节? 我觉得吧,对象是指针,64位系统一个指针就是8个字节,就是8个字...

  • Java

    1、一个字符(英文字母)占多少个字节,一个中文占多少字节? 一个字符占1个字节(GBK、ASCII、UTF-8) ...

  • iOS-面试

    一.NSObjcet对象在内存中占多少个字节? 点进去NSObject,发现NSObject内部只有一个Class...

网友评论

      本文标题:java 一个空对象占多少字节

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