执行Java字节码插装的最经得起未来考验的方法是什么?
我希望从JDK1.5开始执行Java字节码检测。有没有一种方法可以在大多数JVM中使用并且在未来版本的JDK中得到支持?我建议您使用一个库,它可以抽象出原始字节码的读/写。像ASM。这样,将来的任何更改都可以通过更新库来修复。此外,其中许多已经经历了许多版本的更改,并且有一个非常符合版本要求的结构执行Java字节码插装的最经得起未来考验的方法是什么?,java,Java,我希望从JDK1.5开始执行Java字节码检测。有没有一种方法可以在大多数JVM中使用并且在未来版本的JDK中得到支持?我建议您使用一个库,它可以抽象出原始字节码的读/写。像ASM。这样,将来的任何更改都可以通过更新库来修复。此外,其中许多已经经历了许多版本的更改,并且有一个非常符合版本要求的结构 话虽如此,JVM版本之间的字节码变化非常少。如果有机会更改字节码或进行变通,似乎总是使用后者。e、 g.Java多年来一直支持内部类访问外部类的私有成员,但是JVM并不直接支持这一点(编译器使用了变通
话虽如此,JVM版本之间的字节码变化非常少。如果有机会更改字节码或进行变通,似乎总是使用后者。e、 g.Java多年来一直支持内部类访问外部类的私有成员,但是JVM并不直接支持这一点(编译器使用了变通方法)仅仅因为无法知道它们可能会发生什么变化,所以几乎不可能保证将来的兼容性。我只是想指出这一点。但我们可以假设大多数字节码编码不会有任何重大变化。但至少在当前的JDK中,有什么方法可以很好地实现这一点呢?ASM上有没有这样的库?我想说ASM的库位于其核心库之上。你看过ASM了吗?我看过ASM,但是它太低级了。如果你想看字节码,你需要看低级。另一种方法是使用AOP。e、 g.AspectJ。这是一个更高级别的库,允许您注入Java代码,也许这更合适。