Java StringBuilder如何高效构建长尾词字符串?
- 内容介绍
- 文章标签
- 相关推荐
本文共计767个文字,预计阅读时间需要4分钟。
StringBuilder简介:StringBuilder,+,最早出现在JDK1.5,是一个字符拼接的工具类。它与StringBuffer类似,都继承自父类AbstractStringBuilder。在AbstractStringBuilder中,使用char[] value字符数组保存字符串,但不是线程安全的。
StringBuilder简介
StringBuilder 最早出现在JDK1.5,是一个字符拼接的工具类,它和StringBuffer一样都继承自父类AbstractStringBuilder,在AbstractStringBuilder中使用char[] value字符数组保存字符串,但是没有用final关键字修饰,所以StringBuilder是可变的。
性能
StringBuilder 对字符串的操作是直接改变字符串对象本身,而不是生成新的对象,所以新能开销小。
与StringBuffer相比StringBuilder的性能略高(15%~30%),StringBuffer为保证多线程情况下的安全性(synchronize加锁)而牺牲了性能,以时间来换取安全。而StringBuilder则没有保证线程的安全,从而性能略高于StringBuffer。
使用场景
频繁使用字符串拼接的时候可以用StringBuilder(推荐)或者StringBuffer。
本文共计767个文字,预计阅读时间需要4分钟。
StringBuilder简介:StringBuilder,+,最早出现在JDK1.5,是一个字符拼接的工具类。它与StringBuffer类似,都继承自父类AbstractStringBuilder。在AbstractStringBuilder中,使用char[] value字符数组保存字符串,但不是线程安全的。
StringBuilder简介
StringBuilder 最早出现在JDK1.5,是一个字符拼接的工具类,它和StringBuffer一样都继承自父类AbstractStringBuilder,在AbstractStringBuilder中使用char[] value字符数组保存字符串,但是没有用final关键字修饰,所以StringBuilder是可变的。
性能
StringBuilder 对字符串的操作是直接改变字符串对象本身,而不是生成新的对象,所以新能开销小。
与StringBuffer相比StringBuilder的性能略高(15%~30%),StringBuffer为保证多线程情况下的安全性(synchronize加锁)而牺牲了性能,以时间来换取安全。而StringBuilder则没有保证线程的安全,从而性能略高于StringBuffer。
使用场景
频繁使用字符串拼接的时候可以用StringBuilder(推荐)或者StringBuffer。

