码迷,mamicode.com
首页 > 其他好文 > 详细

记程序员生涯中第一次遇到内存溢出错误

时间:2016-11-02 17:29:53      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:lower   tostring   出错   string   使用   总结   查询   虚拟   方法   

  • 情景:

在我使用Hibernate使用2个表【客户表,订单表】进行联表查询时,发生的StackOverflowError。

  • 问题:

我两个实体类中都重写了toString()方法,并且相互调用了彼此,导致我println(客户)时,一直会相互调用彼此的toString()方法,导致栈溢出错误。

  • 解决:

去掉订单类toString()方法中的客户类。

  • 分析:

在《深入理解Java虚拟机》一书中,是这么介绍的(Page 26)

Java虚拟机栈---在Java虚拟机规范中,对这个区域规定了两种异常情况:如果线程请求的栈深度大于虚拟机所允许的深度时,将抛出StackOverflowError。另一个是OutOfMemoryError。

  • 总结:

其实,内存溢出错误就在我们身边...

 

记程序员生涯中第一次遇到内存溢出错误

标签:lower   tostring   出错   string   使用   总结   查询   虚拟   方法   

原文地址:http://www.cnblogs.com/kingofkai/p/6023598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!