吊打面试官,聊聊:Java中String对象的大小?(史上最全)

Posted 40岁资深老架构师尼恩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了吊打面试官,聊聊:Java中String对象的大小?(史上最全)相关的知识,希望对你有一定的参考价值。

下面是一个常见的Java 面试题:

聊聊:Java中String对象的大小?

首先,看看空String占用的空间

当前内存大小是在默认开启压缩指针的条件下

  • 对象头 12
  • char[]数组引用 4
  • int 类型 hash数据大小 4
  • loss due to the next object alignment 对齐填充 4
    总结:24

再次,来看看String类中的成员变量。

/** The value is used for character storage. */ 
private final char value[];

/** Cache the hash code for the string */ 
private int hash; // Default to 0

/** use serialVersionUID from JDK 1.0.2 for interoperability */ 
private static final long serialVersionUID = -6849794470754667710L;

非空String占用的空间

当前内存大小是在默认开启压缩指针的条件下

  • 对象头 12
  • char[]数组引用 4
  • int 类型 hash数据大小 4
  • loss due to the next object alignment 对齐填充 4
    总结:24

推荐阅读:

以上是关于吊打面试官,聊聊:Java中String对象的大小?(史上最全)的主要内容,如果未能解决你的问题,请参考以下文章

String都快用烂了, 面试还是被面试官吊打

吊打面试官-Java中高级面试题,深度集成!

JVM吊打面试官专属秘籍

java模拟面试的app,吊打面试官系列!

Java面试-吊打面试官系列 Redis基础

搞懂这些面试知识点,吊打面试官