立即学习:https://edu.csdn.net/course/play/27126/357995?utm_source=blogtoedu
equal 比较值, ==比较地址
new 出来的是变量
常量可以共享内存,变量不会
常量连接还是常量,变量参与是变量
常量和变量存储的位置不同
- new出来的变量放在堆里
- 常量放在常量池,相同的值可以共享内存
- 用final定义的是常量,放常量池
- JVM内存优化,是针对堆区
String 是不可变类
- String 引用指向的内存值是不可变的
- 并不是更改内存中的值,而是指向新的内存空间
- 由此会产生大量的内存空间
String角度可以引出虚拟就调优说辞
- 值相同的常量会共享内存,尽量用常量
- new的对象放堆区
- 尽量避免对String以及其它不可变类的频繁操作
- 如要频繁对String操作,可用 StringBuilder或StringBuffer