StringTable
一String基本特性
1.string声明为final的,不可以被继承
2.String实现了Serializable接口:表示字符串是支持序列化的,实现了Comparable接口:表示字符串可以比较大小
3.jdk8String是用final char【】 value用于存储字符串数据。jdk9时改为byte【】
4.字符串常量池中是不会存储相同内容的字符串
5.字符串常量池的位置在堆中
二字符串拼接操作
1.常量与常量的拼接结果保存在常量池,原理是编译期优化
2.常量池不存在相同内容的常量
3.只要其中有一个是变量,结果就在堆中,变量拼接原理是StringBuilder,有+操作就会创建Stringbuild对象
4.如果拼接的结果调用intern()方法,则主动将常量池中hi没有的字符串对象放入池中,并返回该对象的地址
三intern方法