虚拟机的内存溢出与内存泄漏的常见问题

一、内存溢出

会造成内存溢出的原因:

第一类内存溢出,也是大家认为最多,第一反应认为是的内存溢出,就是堆栈溢出:

那什么样的情况就是堆栈溢出呢?

当你看到下面的报错的时候它就是栈溢出了:

栈区是用于存放函数的参数值、方法、局部变量等等
虚拟机的内存溢出与内存泄漏的常见问题虚拟机的内存溢出与内存泄漏的常见问题

当你看到下面的报错的时候它就是堆区溢出了:

虚拟机的内存溢出与内存泄漏的常见问题

虚拟机的内存溢出与内存泄漏的常见问题
虚拟机的内存溢出与内存泄漏的常见问题

方法区的内存溢出

因为直接内存,JVM将会在IO操作上具有更高的性能,因为他直接作用于本地系统的IO操作,而非直接内存,也就是堆内存中的数据,如果要作IO操作,会先复制到直接内存,再利用本地IO处理。
虚拟机的内存溢出与内存泄漏的常见问题
解决方案
虚拟机的内存溢出与内存泄漏的常见问题把后面的数字设置大一点就行了