一、字符串存储的内存原理
1.直接赋值会复用字符串常量池中的。
2.new出来不会复用,而是开辟一个新的空间。
二、==号比较的到底是什么
1.基本数据类型比较数据值
2.引用数据类型比较地址值
三、字符串拼接的底层原理
JDK8以前,每次有变量参与,都需要在堆内存创建StringBuilder对象,然后添加内容,在创建String对象,将StringBuilder转换成String。JDK8以后,先对数组长度进行预估,虽然比前者效率高,但仍然浪费效率。所以字符串变量拼接不要直接“+”,尽量使用StringBuilder或者StringJoiner。
四、StringBuilder提高效率的原理图
StringBuilder是一个内容可变的容器。