什么是最好用于异常输出消息动态生成String或StringBuilder或StringBuffer?

Art*_*tic 0 java exception

什么是最好用于异常输出消息动态生成String或StringBuilder或StringBuffer?

pol*_*nts 7

StringBuffer已被大部分取代StringBuilder,这更快,因为它不同步.String除非你做了很多连接,否则很好.

既然你在Exception消息生成的上下文中问这个问题,我会说保持简单和使用String.精心设计的系统不应该Exception经常抛出StringBuilder/ StringBuffer重要的性能优势.

也就是说,异常的频率应该足够低,以至于构造详细消息的方式对整体性能几乎没有影响."过早优化是所有邪恶的根源".仅根据分析优化需要它的部分.

如果你的代码花费显著的时间动态生成StringException,然后有什么东西真的错了你的设计.优化过程的这一部分并不会带来太多好处,因为异常构造成本很高(例如堆栈跟踪捕获部分).