我需要检测一个类是否以编程方式依赖于另一个类,以检测不适当的亲密代码气味(我想分析其他java程序,使用我的程序)。任何指示 如何实现这一目标将是一个很大的帮助。
和
任何帮助都将不胜感激。
答案 0 :(得分:1)
您可能希望使用已存在的内容而不是自己构建内容。特别是如果您不熟悉Java和JVM的内部。
答案 1 :(得分:0)
答案 2 :(得分:0)
我想到的一种方法是使用记录器,在构造中和要监视的方法中放入一些日志语句。因此,通过日志,您可以找到创建的对象和访问的方法
答案 3 :(得分:0)
我发现ObjectWeb asm-all Java字节码操作和分析库非常有用,也称为asm-all.jar
它允许您将任何* .jar应用程序转换为等效的XML文件。您可以完全检查应用程序结构,以XML格式更改它并转换回* .jar文件
要使用XML文件,您需要了解它包含的内容。 Oracle's The Java® Virtual Machine Specification非常适合以
开头 BTW:使用此工具可以做的一件事就是检测字节码,以便创建运行时分析信息 - 调用哪些方法以及由谁调用(由@upog建议)