对已编译的jar进行简单的性能修改?

Ted*_*ham 5 java performance jar

与许多log4j用户一样,我们经常进行调试级别日志记录,评估成本很高.所以我们使用以下代码保护这些案例:

if( _logger.isDebugEnabled )
  _logger.debug("Interesting, my foojes are goofed up: " + getFullDetails())
Run Code Online (Sandbox Code Playgroud)

然而,这比普通的_logger.debug调用更难,有时程序员没有意识到评估可能很昂贵.

编写一个带有编译jar的程序并使用isDebugEnabled检查保护所有_logger.debug调用似乎应该相当简单.我们可能愿意接受在所有情况下检查isDebugEnabled的额外开销.

有没有人尝试过这种方法,或者对jar进行类似的后期处理?

Bri*_*new 2

你看过AspectJ吗?这支持使用字节码编织的方面,并且可以拦截到先前编译的 .jar 文件中