我开始知道Jmockit不使用自定义类加载器来模拟静态调用,而是使用java代理。
我知道通过自定义类加载器来做这件事。任何人都可以解释一下java代理如何在高级别帮助吗?
我相信java代理必须拦截调用和调用存根而不是原始实现 但是,java代理如何通过代理通常在拦截中帮助它?
答案 0 :(得分:1)
据我记得Java代理,您可以在加载类对象时对其进行操作。所以JMockit可以在它想要的类中插入任何东西。或需要。
在这里,您可以找到一个教程,介绍Java代理以及如何创建一些代理:http://www.javabeat.net/introduction-to-java-agents/
答案 1 :(得分:0)
java代理提供了重新定义在运行时加载的类的内容的功能。
那么它在运行时用存根实现取代实际的静态方法