16. Java字符串拼接的低层原理

字符串拼接的低层原理

  • 1. 字符串拼接的两种情况
  • 2. 等号的右边没有变量参与运算
  • 2.1 例子
  • 3. 等号的右边有变量参与运算
  • 3.1 总结
  • 4. StringBuilder提高效率原理图
  • 5. 字符串原理小结
  • 5.1 字符串拼接的低层原理
  • 5.2 StringBulider 提高效率原理图

1. 字符串拼接的两种情况

  • == 等号的右边没有变量参与运算;
  • == 等号的右边有变量参与运算;
    16. Java字符串拼接的低层原理_第1张图片

2. 等号的右边没有变量参与运算

在编译成字节码.class文件的时候就已经是最终的结果了。

  • 注意:
    是在编译阶段就已经确认了,不是在程序运行时候。
    16. Java字符串拼接的低层原理_第2张图片

2.1 例子

16. Java字符串拼接的低层原理_第3张图片

3. 等号的右边有变量参与运算

JDK8以前的版本:
中间有StringBulider类参与
16. Java字符串拼接的低层原理_第4张图片

16. Java字符串拼接的低层原理_第5张图片
JDK8版本后:
系统柜会预估要字符串拼接之后的总大小,把要拼接的内容都放在数组中,此时也是产生一个新的字符串。

3.1 总结

16. Java字符串拼接的低层原理_第6张图片

4. StringBuilder提高效率原理图

16. Java字符串拼接的低层原理_第7张图片

5. 字符串原理小结

5.1 字符串拼接的低层原理

在这里插入图片描述

5.2 StringBulider 提高效率原理图

在这里插入图片描述

你可能感兴趣的:(Java语言,开发语言,java)