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

  • 情景:

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

  • 问题:

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

  • 解决:

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

  • 分析:

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

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

  • 总结:

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

时间: 2024-10-17 23:17:44

记程序员生涯中第一次遇到内存溢出错误的相关文章

java中三种常见内存溢出错误的处理方法

更多 10 相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识. 在解决java内存溢出问题之前,需要对jvm(java虚拟机)的内存管理有一定的认识.jvm管理的内存大致包括三种不同类型的内存区 域:Permanent Generation space(永久保存区域).Heap space(堆区域).Java Stacks(Java栈).其中永久保存区域主要

周瑜:如果想要在程序员生涯中取得成不错的成绩,就得在忙碌的工作中不断学习。

(全文较长,2260字,阅读须10min) 我不是一个伟大的程序员,我只是一个具有良好习惯的优秀程序员.--Kent Beck 周瑜,一个固执甚至刻板的男子,为了目标达成,他竭尽全力.为Dota游戏,他在大学曾累计在线4000小时研究战略战术,为Java面试,他不眠不休七天鏖战复习代码成功入职巨头企业,在鲁班学院,他同样执着,同样成功! (全文较长,2260字,阅读须10min) 一 一:彻夜苦修--凭技术优势进阶各大公司09年高考,周瑜阴差阳错被计算机专业录取,从此走进程序的世界.在学校的前几

30多年程序员生涯经验总结(成功源自于失败中的学习;失败则是因为容忍错误的横行)

英文原文:Lessons From A Lifetime Of Being A Programmer 在我 30 多年的程序员生涯里,我学到了不少有用的东西.下面是我这些年积累的经验精华.我常常想,如果以前能有人在这些经验上指点一二,我相信我现在会站得更高. 1. 客户在接触到产品之后,才会真正明白自己的需求. 这是我在我的第一份工作上面学来的.只有当我们给客户展示产品的时候,他们才会意识到哪些是必须的.给出一个功能性原型设计远远比一张长长的文字表格要好. 2. 只要有充足的时间,所有安全防御系

每个程序员都应该了解的内存知识

每个程序员都应该了解的内存知识 英文原文:lwn.net,翻译:开源中国 [编辑的话: Ulrich Drepper最近问我们,是不是有兴趣发表一篇他写的内存方面的长文.我们不用看太多就已经知道,LWN的读者们会喜欢这篇文章的.内存的使用常常是软件性能的决定性因子,而如何避免内存瓶颈的好文章却不好找.这篇文章应该会有所帮助. 他的原文很长,超过100页.我们把它分成了7篇,每隔一到两周发表一篇.7篇发完后,Ulrich会把全文发出来. 对原文重新格式化是个很有挑战性的工作,但愿结果会不错吧.为了

从学生到妈妈,自我解剖:细数我的7.4年程序员生涯

大学时候的编码仅限于交作业,偶尔看看教学视频跟着写写程序,也往往是有始无终.庆幸的是读研时候导师的项目多,所以有了密集编码的开始. 2009.9初入实验室,基础差是很显然的.java完全没有用过,从0开始.好在有师兄师姐一起带着做,所以开始没那么困难,但是由于大学涉猎范围有限,往往有很尴尬的时候,不懂构造方法重载,去“请教”,本来以为师兄会帮忙写好,结果“我念,你来写”,被深深的激励了一把,后来就早出晚归补习练习,java有所成长.实验室的项目是以Elipse插件形式给某研究所做一个工具,所以当

【转】30多年程序员生涯经验总结

在我30多年的程序员生涯里,我学到了不少有用的东西.下面是我这些年积累的经验精华.我常常想,如果以前能有人在这些经验上指点一二,我相信我现在会站得更高. 1.客户在接触到产品之后,才会真正明白自己的需求. 这是我在我的第一份工作上面学来的.只有当我们给客户展示产品的时候,他们才会意识到哪些是必须的.给出一个功能性原型设计远远比一张长长的文字表格要好. 2.只要有充足的时间,所有安全防御系统都将失败. 安全防御现如今是全世界都在关注的大课题.大挑战.我们必须时时刻刻积极完善它,因为黑客只要有一次成

高效能程序员的修炼—第一次读后感

高效能程序员的修炼-第一次读后感 最近利用在地铁上的时间看完了<高效能程序员的修炼>发现自己还是存在的很大的不足之处,或者说成为程序员就需要不停的学习,而我在一段时间很自满以为没有自己不能解决的问题,直到跳出了那个城市来到了北京才发现自己不过是一个很菜的菜鸟,在这里我那点知识根本是不够用的额,我突然发现了如果这么下去我们之间的差距就会变得很大,然后么我就每天花一点时间研究一些深入的东西,发现以前的好多东西站在现在的角度还是有很大改进的地方.特别是最近看了这本书,发现人或许就是活到老.学到老,而

总结过去10年的程序员生涯

展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走 过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会 你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们. 01. 自己的户口档案.养老保险.医疗保险.住房公积金一定要保管好.由 于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,

某程序员转行前的感慨 告别程序员生涯

告别程序员生涯,一点感慨,与诸君共勉(转CSDN) 再过几天,我就正式告别程序员生涯了,这也是我最后一次以职业程序员身份在CSDN发表文章.小弟谈谈入行几年来的感受,做一个人生阶段的自我总结,同时希望能给后来者带来点参考意见,能在这段路上走的更好. 本人2002年下半年正式入行,至今2007年4月一直从事软件开发工作.上大学选择这个专业是阴差阳错,但接触之后对计算机产生了强烈的兴趣,对写软件有一种强烈的冲动.软件成型后,那种成就感和自豪感能给我难以名状的满足.那时,喜欢看侯捷的书,对核心技术和核