本文介绍: 本章,我们将通过示例代码演示Java虚拟机栈区域是如何发生内存溢出的,并根据内存快照进行分析。我们回顾下栈内存溢出的一个场景:每个线程的栈内存是固定的,如果某个线程不停的无限制调用方法,每次方法调用都会有一个栈帧入栈,此时就会导致线程的栈内存被耗尽。本章,我们通过代码示例模拟了栈内存溢出的场景,大家可以看到1MB的栈内存大约可以支撑5000次的递归调用,这个数量已经很高了,一般的方法根本不可能出现连续几千次的调用。所以,栈内存溢出在生产环境是很少出现的,即使有,一般都是程序bug导致的。
学习必须往深处挖,挖的越深,基础越扎实!
一、简介
二、示例程序
2.1 程序源码
2.2 JVM参数
三、问题分析
四、总结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。