我一直在研究各种 Java 性能监控工具。
我制定了一个使用 perf4j + aspectj 的解决方案,这样我就可以定义要使用 aspectj 切入点表达式监视哪些类。但是 aspectj 也(AFAIK)不允许您在运行时更改切入点表达式。因此,如果我需要监视新类,我将不得不更改 aop.xml 并重新编译(或者如果使用 AspectJ 加载时编织,则至少重新启动应用程序)。
到目前为止,我还没有发现任何可以在运行时检测类而不需要重新启动应用程序的东西。有没有可以做到这一点的工具/技术?
最佳答案
这些类型的工具通常不会在运行时检测类。相反,他们使用 JVMTI 接口(interface)(如果您不明白这是什么,请用谷歌搜索)。
使用它的产品的主要示例:
你的工具包,JProfiler
有一些开源工具,但我还没有真正发现它们中的任何一个与它们的商业对应物一样完善。
关于java - 在运行时检测 java 类以监控性能 --> 是否有工具已经可以做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11780179/