从类文件中的构造函数中删除类范围的对象实例化

时间:2014-01-08 10:50:29

标签: java

我正在开发一个涉及Java内存分析工具的项目。该工具适用于类文件,并为给定类的内存消耗提供上限。目前,该工具并不完美,例如在以下代码中:

class Example {
    public Object o;

    public Example() {
        o = new Object();
    }
}

由于构造函数中的实例化,Object o所需的空间被计算为double。目前,用户需要从构造函数中手动删除类范围的对象实例,以便获得所需内存的更准确的上限。

由于我们无法对分析工具进行更改,因此我们希望自动化从构造函数中剥离对象实例化的过程。但是,由于这会在工具发挥其魔力之前发生,因此它发生在类文件级别上。

我们怎样才能做到这一点?我一直在关注ASM。但是,我还没有找到实现我想要的方法。感谢所有帮助。

0 个答案:

没有答案