As i know,a Java object contains object header,reference and it's data.
//jdk 1.7
public final class String{
private final char value[];
private int hash;
//...
}
For new String("abc")
,how many bytes will it take if we just think about 32-bit system?
totleBytes =
8//String Object header
+4 //value reference
+4 //hash
+12 //char[] object header
+3*1//value[] data
does it right,or miss something?