在运行时增强java对象

时间:2011-08-30 17:35:16

标签: java proxy-classes dynamic-proxy javassist

我知道使用支持代理的库(javassist,JDK动态代理等)可以增强以在运行时实现接口。

我的问题是:是否可以增强实例化的对象以在运行时实现接口(同样提供适当的方法处理程序)。

1 个答案:

答案 0 :(得分:2)

不,我们无法更改已加载的类。而且我们无法替换加载的类(在类加载器中)。

如果

可能
  • 使用自定义类加载器加载类
  • 卸载类加载器(也应该卸载类)
  • 使用新的类加载器实例
  • 再次加载修改后的类

但那是非常非常黑的魔法......