有没有办法在运行时获取类的字节码?

时间:2010-04-29 12:36:11

标签: java runtime bytecode

在Java中,有没有办法(在运行时)获取定义特定类的字节码?

换句话说,有没有办法在加载特定类时获取传递给byte[]的{​​{1}}数组?我看到这个方法被声明为ClassLoader.defineClass(String name, byte[] b, int off, int len),因此创建一个自定义final来拦截类定义似乎是不可能的。

过去,我使用类ClassLoader通过ClassLoader方法获取字节码,但我更喜欢更典型的解决方案。

2 个答案:

答案 0 :(得分:9)

Here描述了如何实现代理

答案 1 :(得分:5)

“Java代理”将是显而易见的解决方案。