一个原始数据类型的数组一般需要24字节的头信息(16字节的对象开销,4字节用于保存长度以及4填充字节)再加上保存值所需的内存。
这是一个int类型的数组,其中存了N个数,一个int类型的数大小为4字节,加上24字节的头信息,总共是(24+4N)字节。
String的标准实现含有4个实例变量:
一个指向字符数组的引用(8字节);
三个int值(各4字节):第一个int值描述的是字符数组中的偏移量;第二个int值是一个计数器(字符串的长度);第三个int是一个散列值。
String对象(Java库)
public class String
{
private char[] value;
private int offset;
private int count;
private int hash;
...
}