Myeclipse+tomcat的java.lang.OutOfMemoryError: PermGen space

来源:互联网 发布:淘宝女生生日礼物 编辑:程序博客网 时间:2024/05/22 22:18

错误代码大致如下:

java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)    at java.util.concurrent.FutureTask.get(FutureTask.java:83)    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1043)    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:485)    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1408)    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:347)    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1140)    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)    at java.util.concurrent.FutureTask.run(FutureTask.java:138)    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)    at java.lang.Thread.run(Thread.java:619)Caused by: java.lang.OutOfMemoryError: PermGen space    at java.lang.ClassLoader.defineClass1(Native Method)    at java.lang.ClassLoader.defineClass(ClassLoader.java:621)    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2918)    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1174)    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669)    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)    at java.lang.Class.getDeclaredFields0(Native Method)    at java.lang.Class.privateGetDeclaredFields(Class.java:2291)    at java.lang.Class.getDeclaredFields(Class.java:1743)    at com.opensymphony.xwork2.inject.ContainerImpl.addInjectors(ContainerImpl.java:89)    at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:71)    at com.opensymphony.xwork2.inject.ContainerImpl$1.create(ContainerImpl.java:67)    at com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:150)    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)    at java.util.concurrent.FutureTask.run(FutureTask.java:138)    at com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:76)    at com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:116)    at com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.<init>(ContainerImpl.java:348)    at com.opensymphony.xwork2.inject.ContainerImpl$5.create(ContainerImpl.java:305)    at com.opensymphony.xwork2.inject.ContainerImpl$5.create(ContainerImpl.java:301)    at com.opensymphony.xwork2.inject.util.ReferenceCache$CallableCreate.call(ReferenceCache.java:150)    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)    at java.util.concurrent.FutureTask.run(FutureTask.java:138)    at com.opensymphony.xwork2.inject.util.ReferenceCache.internalCreate(ReferenceCache.java:76)    at com.opensymphony.xwork2.inject.util.ReferenceCache.get(ReferenceCache.java:116)    at com.opensymphony.xwork2.inject.ContainerImpl.getConstructor(ContainerImpl.java:594)    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:491)    at com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:532)    at com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:581)    at com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:530)

解决办法:在myeclipse->window->perferences->java->installed JREs选择edit
在Default VM Argument框中加上:
-Xms800m -Xmx800m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

0 0
原创粉丝点击