$、 是线程不安全的效率高
在 方法上增加了 !": 关键字线程锁
、为什么有时候 和 拼接字符串效率接近,甚至 效率是远要比
快。
简要的说, 类型和 类型的主要性能区别其实在于 是不可
变的对象N因此在每次对 类型进行改变的时候其实都等同于生成了一个新的
对象,然后将指针指向新的 对象,所以经常改变内容的字符串最好不要用 ,
因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, 5的
7%就会开始工作,那速度是一定会相当慢的。
而如果是使用 类则结果就不一样了,每次结果都会对
对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下我们推荐使
用 ,特别是字符串对象经常改变的情况下。
某些特别情况下, 对象的字符串拼接其实是被 5解释成了 对
象的拼接,所以这些时候 对象的速度并不会比 对象慢,而特别是以下
的字符串对象生成,用加号拼接字符串常量, 效率是远要比 快的:
JO'" PLO+PLOPM
$ J ; (O' " P)(O
+P)(OP)M
其实这是 5的一个把戏,在 5眼里,字符串常量之间的加号直接拿掉拼接,这个
JO'" PLO+PLOPM其实就是:
JO'" +PM所以当然不需要太多的时间了。
但要注意的是,如果字符串是来自另外的 对象的话,速度就没那么快了,譬如:
JO'" PM
JO+PM
JOPM
JLLM