ssh框架之内存问题(不断循环)

错误代码:
Exception in thread "http-bio-8080-exec-7" 
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:572)
at java.lang.StringBuilder.append(StringBuilder.java:203)
at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:518)


错误原因:根据错误代码的提示是内存溢出
解决过程:最开始我是去修改myeclipse和tomcat的内存大小,但是数据并不多却造成了内存溢出,经过jdk内存监控,发现会使用接近2G的内存,浏览器获取的数据也到了100多M
根本原因:原因是 hibernate抽象的数据库的对象问题,其中的Set问题,Set表示 hibernate中多对多或者多对一的关系,如果你在查询一个对象中的数据的时候,例如:“from User”。它会根据对象中的Set查询一个又一个相连的表,其实就是外键。
解决办法:在对象中Set的get方法前面加上@JSON(serialize = false)。@JSON(serialize = false)是为了过滤不需要的变量。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值