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

Posted 欲戴王冠.必承其重

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记程序员生涯中第一次遇到内存溢出错误相关的知识,希望对你有一定的参考价值。

  • 情景:

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

  • 问题:

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

  • 解决:

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

  • 分析:

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

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

  • 总结:

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

 

以上是关于记程序员生涯中第一次遇到内存溢出错误的主要内容,如果未能解决你的问题,请参考以下文章

五种内存溢出案例总结:涵盖栈深度溢出永久代内存溢出本地方法栈溢出JVM栈内存溢出和堆溢出

五种内存溢出案例总结:涵盖栈深度溢出永久代内存溢出本地方法栈溢出JVM栈内存溢出和堆溢出

php 执行mysql中查询时内存溢出怎么办

一次使用Eclipse Memory Analyzer分析Tomcat内存溢出

内存溢出系列OutOfMemoryError:Java heap space(1/8)

在java中上传文件出现内存溢出怎么解决