【发布时间】:2013-02-14 12:29:01
【问题描述】:
我的查询与使用 ASM 的字节码操作有关。
我有一种方法如下——
/*Original method code*/
String str ="abs";
// create object of SampleClass2 // constructor calling
SampleClass2 sample = new SampleClass2();
// call instance method
sample.PrintMe(str);
在上述方法中,我想将 SampleClass2() 构造函数更改为一个静态方法调用,该方法调用将在执行一些逻辑后返回相同的 SampleClass2 对象。所以在那之后我的方法将看起来像这样。
/*
* After bytecode manipulation*
*/
String str ="abs";
// get a constructor using static call
SampleClass2 sample = StaticClass.getSampleClass2Object();
sample.PrintMe(str);
请告诉我如何使用 ASM 字节码操作来实现这一点。我们是否需要将现有的字节码堆栈更改为类似DUP
【问题讨论】:
标签: java-bytecode-asm bytecode-manipulation