为什么jdk动态代理调试每个步骤超过模式时调用InvocationHandler.invoke“toString”方法

时间:2017-09-19 05:32:53

标签: java dynamic-proxy

当我使用jdk动态代理时,似乎

Object proxy = Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(),
                    new Class<?>[] { xx }, handler);

当我调试程序时,逐个步骤, handler variant将使用“toString”方法

调用其方法
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
    }
    if (method.getName().equals("toString")){
        System.out.println( " toString " +args);//**executed every step over line,why??**
        return method.invoke(target,args);
    }

但是在不调试模式时没有问题。

1 个答案:

答案 0 :(得分:-1)

enter image description here

我想IDE需要在红色框中显示信息,这导致调用对象的toString()方法。