Java9 String底层数组的变化

java9之前String底层数组的实现采用的是char数组

在这种方式下,每一个字符都将占用两个字节的空间。

而在java9之后,String底层采用byte数组和编码标识来识别

 

coder的用法:

  1. 当检测到变量按照latin1或ISO进行标识时,会为其分配一个字节大小的空间;
  2. 当检测到变量按照utf-16进行标识时,会为其分配而两个字节大小的空间。

 同样地,与String相关的StringBuilder,StringBuffer底层都采用了byte[]来实现。

发布了44 篇原创文章 · 获赞 17 · 访问量 2450

猜你喜欢

转载自blog.csdn.net/weixin_40391011/article/details/104073793