堆内存溢出:堆内存放的都是对象,当引用对象占用内存超过分配的堆内存就会发生堆内存溢出。比如,堆分配1M内存,但是一个List中存放2M就会发生堆内存溢出。
栈内存溢出:栈内存溢出是指,分配的栈内存不够使用,导致栈内存溢出。比如多线程访问,每一个线程都会分配一个栈空间,如果线程足够多,分配的栈内存空间自然也会多,发生栈内存溢出。
栈溢出:栈溢出是指在压栈的过程中超出栈的深度,每调用一个方法都会进行压栈操作。当调用方法非常多时,导致超出栈的深度发生栈溢出,比如递归方法。
来源:oschina
链接:https://my.oschina.net/uwith/blog/3224474