Java 9+的内存布局
包含中文的字符串(使用UTF-16):
String text = "你好世界";
String对象
├── byte[] value = [0x4F, 0x60, 0x59, 0x7D, 0x4E, 0x16, 0x75, 0x4C] // UTF-16编码的字节
├── byte coder = UTF16 (0) // 标志:0=UTF16, 1=Latin1
└── int hash = ...
内存中的字节表示:
[0x4F, 0x60, 0x59, 0x7D, 0x4E, 0x16, 0x75, 0x4C] // 总共8字节(每个字符2字节)