如何将此代码添加到使用ASM的方法?

时间:2014-03-12 10:23:54

标签: java java-bytecode-asm

如何使用ASM库将此代码插入Java类文件中的方法?

long MEGABYTE = 1024L * 1024L;            
Runtime runtime = Runtime.getRuntime();

runtime.gc();

long memory = runtime.totalMemory() - runtime.freeMemory();            
double memoryUsage=(double)memory/MEGABYTE;

1 个答案:

答案 0 :(得分:5)

ASM包知道名为ASMifier的实用程序。此实用程序可用于将已编译的类转换为ASM的指令以创建此代码。您可以实现代码,使用ASMifier读取它并将创建的指令复制到新的ASM ClassWriter中,该ASM将所需方法附加到从ASM ClassReader接收的字节流中。

如果这对您没有意义:请阅读ASM documentation。这是一份很棒的文档,您可以在阅读之后了解如何使用上述指南。