标签: java runtime bytecode
在Java中,有没有办法(在运行时)获取定义特定类的字节码?
换句话说,有没有办法在加载特定类时获取传递给byte[]的{{1}}数组?我看到这个方法被声明为ClassLoader.defineClass(String name, byte[] b, int off, int len),因此创建一个自定义final来拦截类定义似乎是不可能的。
byte[]
ClassLoader.defineClass(String name, byte[] b, int off, int len)
final
过去,我使用类ClassLoader通过ClassLoader方法获取字节码,但我更喜欢更典型的解决方案。
ClassLoader
答案 0 :(得分:9)
Here描述了如何实现代理
答案 1 :(得分:5)
“Java代理”将是显而易见的解决方案。