Effective Java之当心字符串连接的性能(五十一)
生活随笔
收集整理的這篇文章主要介紹了
Effective Java之当心字符串连接的性能(五十一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
字符串連接問題:
在jdk1.7之后,字符串連接問題的得到了優化,比如:
String s = “a”+“b”+“c”;
會優化為String s = “abc”
但是,值得注意的是,如果是通過循環拼接字符串的話,會產生很多的String對象。
這時候,我們一般會選擇StringBuffer或者StringBuilder,我們需要了解他們兩者的區別:
HashTable是線程安全的,很多方法都是synchronized方法,而HashMap不是線程安全的,但其在單線程程序中的性能比HashTable要高。StringBuffer和StringBuilder類的區別也是如此,他們的原理和操作基本相同,區別在于StringBufferd支持并發操作,線性安全的,適 合多線程中使用。StringBuilder不支持并發操作,線性不安全的,不適合多線程中使用。新引入的StringBuilder類不是線程安全的,但其在單線程中的性能比StringBuffer高。
總結
以上是生活随笔為你收集整理的Effective Java之当心字符串连接的性能(五十一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Effective Java之基本类型优
- 下一篇: Effective Java之接口优先于