如何执行Java字节码活性分析?
我特别想确定一个程序中有多少初始化变量在最后是“活动的”。我有多个类文件,我已经使用如何执行Java字节码活性分析?,java,bytecode,Java,Bytecode,我特别想确定一个程序中有多少初始化变量在最后是“活动的”。我有多个类文件,我已经使用 java -c file1 file2 ... >> out.txt 我该怎么办呢。我可以简单地计算一个变量第一次出现的次数,然后检查它是否在程序中再次被引用吗?然而,这有一个很大的假设,即顺序字节码,这不一定是真的 函数也可以进行活性分析吗?阅读文章。长话短说: 您希望在程序执行时截取加载到程序中的每个类,并将其替换为在所需位置(例如,在方法项处)插入指令的版本。这对于java.lang.ins
java -c file1 file2 ... >> out.txt
我该怎么办呢。我可以简单地计算一个变量第一次出现的次数,然后检查它是否在程序中再次被引用吗?然而,这有一个很大的假设,即顺序字节码,这不一定是真的
函数也可以进行活性分析吗?阅读文章。长话短说:
您希望在程序执行时截取加载到程序中的每个类,并将其替换为在所需位置(例如,在方法项处)插入指令的版本。这对于java.lang.instrument
和像ASM这样的字节码工程库来说并不难。对于实际上由get/set访问器保护的属性的变量,运行时可以转化为测量set访问器的性能的问题
已经有Java工具可以自动测量它(不需要发明@amir afghani建议的一些仪器魔术)
另见: