Java中String使用的注意事项
01.不可变的String
不变性是指String对象一旦生成,则不能对其进行改变。String的这个特性可以泛化为不变(immutable)模式,即一个对象的状态在对象被创建之后就不在发生变化。不变模式的主要作用在于当一个对象需要被多线程共享,并且访问频繁时,可以省略同步和锁等待的时间,从而大幅度提高系统性能。
02.使用StringBuffer/StringBuilder
- StringBuilder 线程不安全
- StringBuffer 线程安全
- 如果可能,尽量初始化容量
03.压缩字符串
- java内部使用utf-16
- java 6 -XX:UseCompressStrings 在JDK7中被移除
- java 9 重新引入这个概念+XX:CompactStrings