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

在Java中,是否有一种方法(在运行时)获取定义特定类的字节码?

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

在过去,我使用类的ClassLoader通过getResourceAsStream(String)方法获取字节码,但我更喜欢更规范的解决方案。

以下是如何实现代理的说明

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