SDR*_*yes 4 java performance audit monitoring java-ee
我们使用拦截器来测量bean的公共方法调用的执行时间.尽管如此,当bean的方法调用其他私有方法时,它似乎忽略了审计拦截器.
我们如何衡量私有方法的执行时间呢?
您可以使用AspectJ等面向方面编程库来实现基准测试程序.
例如,请参阅:
实际上,这是某些剖析器的作用.
你可以使用JVMTI API(不完全确定这会飞,说实话)来实现你自己的代码检查器并直接将自己挂钩到JVM中.
关于jb(有效)关注他的回答是私有方法可能在编译时或运行时内联,一些JVM可能不会这样做或允许禁用此功能.
-XnoOpt禁用优化的选项(包括这个特定的优化).-XX:-Inline(不确定它是否仍然存在或做任何事情).但是,这意味着在激活内联时,您无法准确测量生产中的内容.仍然,可能很方便检查您的代码.