Linux 拨号vps windows公众号手机端

jvm栈内存溢出的原因有哪些

lewis 7年前 (2018-03-27) 阅读数 11 #程序编程
文章标签 jvm

  1. 递归调用层级过深:如果程序中存在过多的递归调用,每次调用都会在栈中分配一段空间,如果递归层级过深,会导致栈内存溢出。

  2. 无限循环:如果程序中存在一个无限循环,每次循环都会在栈中分配一段空间,如果循环次数太多,会导致栈内存溢出。

  3. 大量的局部变量:如果方法中定义了大量的局部变量,每个变量都会在栈中分配一段空间,如果变量过多,会导致栈内存溢出。

  4. 大量的线程:每个线程都会有自己的栈空间,如果程序中创建了大量的线程,每个线程的栈空间都会占用一定的内存,如果线程过多,会导致栈内存溢出。

  5. 无法回收的对象:如果程序中存在大量无法被回收的对象,这些对象会一直占用栈空间,导致栈内存溢出。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门