查看原文
其他

吊打面试官,聊聊: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 面试宝典》V13版 

长按二维码,点击“识别图中二维码”即可查看老架构师尼恩微信,领取:

  • 最新的《尼恩Java面试宝典》

    极致经典,不断升级,目前最新为V13

  • 尼恩Java高并发三部曲

    《Java高并发核心编程-卷1(加强版)》,不断升级

    《Java高并发核心编程-卷2(加强版)》,不断升级

    《Java高并发核心编程-卷3(加强版)》,不断升级

  • 尼恩架构笔记100篇+,不断添加 


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存