sij*_*sij 2 java string stringbuilder log4j
伙计我在我的小java实用程序中打印了很多日志,所以只想到这个问题,如果它是一个非常大的系统和效率很重要,并且如果我们生成了很多日志(使用log4j)这是更好的对象来保存记录消息String或StringBuilder.
如果你选择的话
logger.Debug(string1 + string2);
和
logger.Debug(new StringBuilder(string1).append(string2).toString());
然后没有区别
但是如果有很多检查和构造,logString += <something>那么使用a StringBuilder更好.
请注意,log4j的最大效率问题来自于在不检查日志级别的情况下计算表达式.你总是需要
if (logger.isDebug())
    logger.Debug(..));
许多CPU周期被浪费了串联字符串并评估其结果将很快被丢弃的其他表达式,因为logger设置为更高级别.
| 归档时间: | 
 | 
| 查看次数: | 5753 次 | 
| 最近记录: |