我正在阅读 Bruce Tate 和 Justin Gehtland 的 "Better, Faster, Lighter Java",并熟悉敏捷型团队中可读性要求,例如 Robert Martin 在他的清晰编码书籍中所讨论的内容。在我现在所在的团队中,我被明确告知不要使用
但是这篇文章,写于 2004 年,谈到对象分配大约需要 10 条机器指令(基本上是免费的)。
它还谈到了 GC 如何在这种环境下降低成本。
在使用
对我来说,
你对此有何看法/意见?
+
运算符,因为它会在运行时创建额外(且不必要)的字符串对象。但是这篇文章,写于 2004 年,谈到对象分配大约需要 10 条机器指令(基本上是免费的)。
它还谈到了 GC 如何在这种环境下降低成本。
在使用
+
、StringBuilder
或 StringBuffer
中的实际性能权衡是什么?(在我的情况下只能使用 StringBuffer
,因为我们受到 Java 1.4.2 的限制。)对我来说,
StringBuffer
导致了丑陋、难以阅读的代码,就像 Tate 的书中的一些例子所示。而 StringBuffer
是线程同步的,这似乎有其自身的成本,超过了使用 +
运算符的 "危险性"。你对此有何看法/意见?