如何使用ASM库将此代码插入Java类文件中的方法?
long MEGABYTE = 1024L * 1024L;
Runtime runtime = Runtime.getRuntime();
runtime.gc();
long memory = runtime.totalMemory() - runtime.freeMemory();
double memoryUsage=(double)memory/MEGABYTE;
答案 0 :(得分:5)
ASM包知道名为ASMifier
的实用程序。此实用程序可用于将已编译的类转换为ASM的指令以创建此代码。您可以实现代码,使用ASMifier读取它并将创建的指令复制到新的ASM ClassWriter
中,该ASM将所需方法附加到从ASM ClassReader
接收的字节流中。
如果这对您没有意义:请阅读ASM documentation。这是一份很棒的文档,您可以在阅读之后了解如何使用上述指南。