JVM介绍(二):内存溢出

被刻印的时光 ゝ 提交于 2019-11-27 15:36:49

1、Java对象无法被垃圾收集器回收就会造成内存泄漏,内存泄漏越来越多就可能会导致内存溢出(java.lang.OutOfMemoryError)。

 

2、内存溢出有以下几种情形:

(1)溢出

(2)虚拟机栈(本地方法栈)溢出

(3)方法区(运行时常量池)溢出

(4)直接内存溢出

 

3、常用JVM参数:

(1)-Xms堆内存最小值;-Xmx堆内存最大值(两个参数设置值一样时则堆内存不可自动扩展)。

(2)-Xss虚拟机栈内存大小;-Xoss本地方法栈内存大小(HotSpot中不区分虚拟机栈和本地方法栈,因此-Xoss参数对HotSpot虚拟机无效)。

(3)-XX:PermSize=方法区内存最小值,-XX:MaxPermSize=方法区内存最大值。

(4)-XX:MaxDirectMemorySize=直接内存大小,如果不指定,则默认与Java堆最大值(-Xmx)一致。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!