问答详情
源自:3-3 动态代理实现添加 InvocationHandler

为什么会出现堆内存溢出异常,而且死循环输出代理结果啊?

 at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at com.imooc.pattern.proxy.TimeHandler.invoke(TimeHandler.java:19)
 at com.imooc.pattern.proxy.$Proxy0.move($Proxy0.java:19)

Caused by: java.lang.StackOverflowError
 at java.util.concurrent.ConcurrentHashMap.putVal(Unknown Source)
 at java.util.concurrent.ConcurrentHashMap.putIfAbsent(Unknown Source)
 at java.lang.ClassLoader.getClassLoadingLock(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)
 at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
 at java.lang.ClassLoader.loadClass(Unknown Source)

汽车结束行驶...行驶时间为124毫秒
汽车结束行驶...行驶时间为124毫秒
汽车结束行驶...行驶时间为124毫秒
汽车结束行驶...行驶时间为124毫秒
汽车结束行驶...行驶时间为124毫秒
汽车结束行驶...行驶时间为124毫秒
汽车结束行驶...行驶时间为124毫秒
汽车结束行驶...行驶时间为126毫秒
汽车结束行驶...行驶时间为126毫秒
汽车结束行驶...行驶时间为126毫秒
汽车结束行驶...行驶时间为127毫秒
汽车结束行驶...行驶时间为127毫秒
汽车结束行驶...行驶时间为127毫秒
汽车结束行驶...行驶时间为127毫秒
汽车结束行驶...行驶时间为127毫秒
汽车结束行驶...行驶时间为127毫秒
汽车结束行驶...行驶时间为127毫秒
汽车结束行驶...行驶时间为127毫秒

提问者:南望山小糊涂神 2016-09-09 10:15

个回答

  • 梦编猿
    2016-09-16 19:47:04

    看下条件值。

    【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】