StringWriter,StringBuilder和StringBuffer都可以动态构建一个String,那么三者在性能上谁最好呢?
从jdk的源码中可以看出,StringWriter的内部实现是通过StringBuffer来实现的,所以性能上应该和StringBuffer差不多,而StringBuffer是线程安全的,所以性能上稍逊一点。
而StringBuilder不是线程安全的,所以性能上应该优于前两者,但是是并发环境下,应该使用前两者。
从jdk的源码中可以看出,StringWriter的内部实现是通过StringBuffer来实现的,所以性能上应该和StringBuffer差不多,而StringBuffer是线程安全的,所以性能上稍逊一点。
而StringBuilder不是线程安全的,所以性能上应该优于前两者,但是是并发环境下,应该使用前两者。
本文对比了StringWriter、StringBuilder和StringBuffer三种字符串构建方式的性能。分析了它们的内部实现原理,指出了StringBuilder由于不考虑线程安全,在性能上优于StringBuffer和StringWriter。但在并发环境中,推荐使用StringBuffer或StringWriter。
597

被折叠的 条评论
为什么被折叠?



