Java 查找方法的调用方

Java 查找方法的调用方,java,static-analysis,call-graph,Java,Static Analysis,Call Graph,我试图检查获取资源的方法是否也释放了资源。在单个jar文件的类中查找方法调用方的最佳工具是什么?我可以用CheckStyle或FindBugs来实现这一点吗?怎么做 我想我可以使用BCEL或类似的方法来实现这一点,但我以前从未使用过字节码,这样做会花费很长时间 搜索“java调用图”并没有发现任何有用的东西,但这似乎是一个非常基本的功能,所以我可能错过了一个很好的匹配。但是,我不想在这个非常大的项目上生成整个调用图 在不知道您要审核的资源类型的情况下,很难提出建议。根据“什么”和“如何”的不同,

我试图检查获取资源的方法是否也释放了资源。在单个jar文件的类中查找方法调用方的最佳工具是什么?我可以用
CheckStyle
FindBugs
来实现这一点吗?怎么做

我想我可以使用
BCEL
或类似的方法来实现这一点,但我以前从未使用过字节码,这样做会花费很长时间


搜索“java调用图”并没有发现任何有用的东西,但这似乎是一个非常基本的功能,所以我可能错过了一个很好的匹配。但是,我不想在这个非常大的项目上生成整个调用图

在不知道您要审核的资源类型的情况下,很难提出建议。根据“什么”和“如何”的不同,您可能想看看像Javassist这样的AOP工具,或者像Costy这样的调用流分析工具。@Perception我在搜索中遇到了Costy,我认为它可以完成任务,但需要一些编程。我希望能够找到可以立即用于任意资源的方法——比如说,我想在一个jar中找到所有调用
SomeResource.acquire的方法。当然,FindBugs具有查找未关闭流的功能。我不知道这种支持有多普遍。@TomHawtin tackline是的,我知道它可以检测未关闭的流,但我不知道它是否可以处理我的问题requirement@raddykrishjava callgraph正在为我做这项工作。如果你把它变成一个答案,我会接受并给你赏金。谢谢