如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError栈溢出异常。递归。

如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError内存不足异常。反复创建list对象。

内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用。比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。

内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。

memory leak会最终会导致out of memory!
比如:无限向ArryList中添加元素,又没有及时置空元素(内存泄漏),当内存不够用的时候就会发生内存溢出。

Last modification:August 9th, 2019 at 10:40 am