什么是一些有趣的,免费的,开源的Java动态分析工具?

时间:2009-11-06 10:25:30

标签: java open-source bytecode dynamic-analysis

我正在寻找一些有趣的动态分析仪来使用和报告大学作业。工具应该是:

  • 开源(所以我可以向他们学习)
  • 免费(在演讲和啤酒中,因为我希望能够分享结果,而且我分别是紧张的)
  • 用于Java(源代码或字节码)

这包括但不限于性能分析器。他们可以执行任何类型的分析,只要它是动态的,例如代码覆盖率,多线程正确性。

生成的结果应该在某种程度上有用,但它们不一定是工业强度

类似的问题:

那么什么是一些有趣的,免费的,开源的Java动态分析工具?

4 个答案:

答案 0 :(得分:2)

CoberturaEmma将执行代码覆盖率分析。

就多线程正确性而言,FindBugs将执行其中一些操作。但是它执行静态分析。当程序运行时,

答案 1 :(得分:2)

查看Glassbox自动诊断常见问题的Java应用程序的疑难解答代理。 Glassbox作为war文件部署到您的appserver,然后使用AspectJ加载时编织来监视应用程序组件和其他工件,以便识别远程调用过多或失败,查询速度慢,数据库查询过多,线程争用甚至是请求等问题参数导致失败。

  

Glassbox通过使用方面来跟踪组件交互,从而非侵入地监视应用程序。我们还监视内置的JMX数据,特别是在我们对线程数据进行采样的Java 5 VM上(默认情况下每100毫秒)。在处理请求时,我们总结了值得注意的事件,例如花费时间以及使事情变慢或失败所涉及的参数。我们还检测用于报告的更高级别的操作(例如Struts操作或Spring控制器)。然后,我们的AJAX Web客户端通过对被监控机器的操作提供状态摘要,并根据请求生成更详细的分析。 Glassbox允许监控服务器群集:Web应用程序使用JMX Remote或直接RMI来访问远程服务器的数据。我们还提供对较低级别摘要统计信息的JMX远程访问。

答案 2 :(得分:0)

我发现Yourkit对于java来说是一个非常棒的分析器。它进行了精彩的热点分析和内存分析。我用它来发现很多内存泄漏以及很多优化。

它还有一个很好的Eclipse集成插件(如果那是你的包)

答案 3 :(得分:0)

我之前使用的是名为JRat的性能分析器。

作为Java代理运行并报告统计信息,例如在某种方法中花费的时间。

相关问题