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

最佳答案

StringBuffer大部分已被StringBuilder取代,这是更快的,因为它不同步。除非您进行大量串联,否则String很好。

由于您是在Exception消息生成的上下文中询问此问题的,因此我想保持它的简单并使用String。设计良好的系统不应经常抛出Exception,以致StringBuilder / StringBuffer的性能优势至关重要。

也就是说,例外的频率应足够低,以使详细消息的构造方式对整体性能几乎没有影响。 “过早的优化是万恶之源”。根据分析,仅优化需要它的部分。

如果您的代码花费大量时间为String动态生成Exception,那么您的设计确实存在问题。优化流程的这一部分并不会带来多大好处,因为无论如何构造异常都会使代价高昂(例如,堆栈跟踪捕获部分)。

关于java - 异常输出消息动态生成String或StringBuilder或StringBuffer最好使用什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2430883/

10-10 03:18