出于好奇,使用上述方法记录(使用log4j)是否有任何好处:
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("New Session Created");
}
而不仅仅是:
LOGGER.debug("New Session Created");
它仅仅是一种(潜在的)性能提升,它仍然具有相关性吗?它应该用于包装所有调试输出吗?
感谢您的想法!
答案 0 :(得分:1)
在您的使用案例中,不,没有任何好处。
但是,如果您正在构建一个新字符串,例如“New Session Create”+ SessionID,那么您需要避免使用字符串构造,而是使用布尔检查。
这是一个小差异,但在大型应用程序中,此字符串构造以及相关的垃圾收集可能会成为性能影响点。但是,如果传递静态字符串,则实际上是在创建重复检查,虽然也很小,但可能会对性能产生影响。