开发者社区> 问答> 正文

java动态代理测试报错

今天突然看到spring aop,想到代理模式,就写了个动态代理的例子,但是有点不遂人愿,出错了,各位大牛帮我看下哪里错了.
程序里头可能是有死循环或递归调用所产生的?增大JVM的内存?
screenshot
screenshot
screenshot
screenshot
报错信息:
Exception in thread "main" java.lang.StackOverflowError
at java.lang.AbstractStringBuilder.(AbstractStringBuilder.java:44)
at java.lang.StringBuilder.(StringBuilder.java:92)
at com.test.dynamic.proxy.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:32)
at com.sun.proxy.$Proxy0.toString(Unknown Source)
at java.lang.String.valueOf(String.java:2826)
at java.lang.StringBuilder.append(StringBuilder.java:115)
at com.test.dynamic.proxy.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:32)
at com.sun.proxy.$Proxy0.toString(Unknown Source)
at java.lang.String.valueOf(String.java:2826)
at java.lang.StringBuilder.append(StringBuilder.java:115)
at com.test.dynamic.proxy.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:32)
at com.sun.proxy.$Proxy0.toString(Unknown Source)
at java.lang.String.valueOf(String.java:2826)
at java.lang.StringBuilder.append(StringBuilder.java:115)

展开
收起
蛮大人123 2016-02-20 10:51:29 2819 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    proxy.toString()递归调用InvocationHandler的invoke方法,导致堆栈溢出。搜一下$Proxy0的源码就知道。

    2019-07-17 18:45:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
移动互联网测试到质量的转变 立即下载
给ITer的技术实战进阶课-阿里CIO学院独家教材(四) 立即下载
F2etest — 多浏览器兼容性测试整体解决方案 立即下载