JVM学习(二):内存溢出

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)一致。

posted on 2019-08-17 15:01  逍遥1989  阅读(90)  评论(0编辑  收藏  举报