Java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space

 

Java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space

解决方案:

1.修改jdk版本

2.修改虚拟内存

Java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space

-Xms:是初始分配的堆内存
-Xmx:是最大的分配的堆内存
超出了xms的大小,JVM会向系统继续要内存,如果一直扩展到Xmx都不够的话,这是就抛出OOM了。
-XX:PermSize:是默认永生代大小,永生代主要用来加载类和常量池,这部分很难GC。JDK8的Hotspot已经取消了永生代,改为元空间,元空间不需要指定大小,会自动扩展。
-XX:MaxPermSize:是永生代大小上限。
-XX:MaxNewSize:是新生代大小,一般新出生的对象都是在这里的Eden区,在这里GC之后会进去新生代的Survivor区:有两块Survivor区,用的是标记复制算法。