java.lang.OutOfMemoryError: PermGen space的解决办法

一、遇到的问题

Caused by: java.lang.OutOfMemoryError: PermGen space
	at org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty(BeanWrapper.java:160)
	at org.apache.ibatis.reflection.wrapper.BeanWrapper.get(BeanWrapper.java:44)
	at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:123)
	at org.apache.ibatis.builder.xml.dynamic.DynamicContext$ContextMap.get(DynamicContext.java:89)
	at org.apache.ibatis.builder.xml.dynamic.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:107)
	at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1657)
	at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:92)
	at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
	at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:210)
	at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:49)
	at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
	at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:210)
	at org.apache.ibatis.ognl.ASTAnd.getValueBody(ASTAnd.java:56)
	at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
	at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:210)
	at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:333)
	at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:413)
	at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:395)
	at org.apache.ibatis.builder.xml.dynamic.OgnlCache.getValue(OgnlCache.java:42)

二、解决办法

此错误为内存溢出错误,是方法区(永久代)内存溢出!由于 JDK 自带的虚拟机为 HotSpot,且其支持内存区域的动态扩展,因此可以通过设置虚拟机参数来扩展方法区的内存大小。

设置tomcat:

java.lang.OutOfMemoryError: PermGen space的解决办法_第1张图片

-Xms,表示程序启动时,JVM 堆的初始化最小尺寸参数;
-Xmx,表示程序启动时,JVM 堆的初始化最大尺寸参数;
-XX:PermSize,表示程序启动时,JVM 方法区的初始化最小尺寸参数;
-XX:MaxPermSize,表示程序启动时,JVM 方法区的初始化最大尺寸参数。
对于本例中的错误,实际上,只需要扩展方法区的虚拟机参数即可。
 

你可能感兴趣的:(java高级)