目录
解释图:
上图是JVM内存模型中最为重要的三部分,方法区中存储的是类模板,堆中存放的是实例对象,每个线程都会生成一个栈
何时发生栈内存溢出?
对于一台服务器而言,每一个用户请求,都会产生一个线程来处理这个请求,每一个线程对应着一个栈,栈会分配内存,此时如果请求过多,这时候内存不够了,就会发生栈内存溢出
什么时候会发生栈溢出?
栈溢出是指不断的调用方法,不断的压栈,最终超出了栈允许的栈深度,就会发生栈溢出,比如递归操作没有终止,死循环
帮助记忆:
可以把内存比作是一个大箱子,栈是一个小箱子,栈溢出是指小箱子装不下了;而栈内存溢出是大箱子在也装不下小箱子了
更多精彩内容,欢迎关注公众号:stackoverflow