StringBuilder/StringBuffer vs. “+” 运算符
我正在阅读“Better, Faster, Light Java”(由Bruce Tate和Justin Gehtland撰写),并且熟悉敏捷类型团队的可读性要求,例如Robert Martin在他的干净编码书中讨论的内容。在我现在所在的团队中,我被明确告知不要使用运算符,因为它会在运行时创建额外(和不必要的)字符串对象。+
但是这篇文章,写在04年,讨论了对象分配如何大约是10个机器指令。(基本上是免费的)
它还讨论了GC如何有助于降低这种环境中的成本。
使用 或 之间的实际性能权衡是什么?(在我的情况下,这只是因为我们仅限于Java 1.4.2。+
StringBuilder
StringBuffer
StringBuffer
StringBuffer
对我来说,这会导致丑陋的、可读性较差的代码,正如泰特书中的几个例子所证明的那样。并且是线程同步的,它似乎有自己的成本,超过了使用运算符的“危险”。StringBuffer
+
想法/意见?