最近在做毕设时,出现了这样一个问题,MyEclipse重新部署项目到Tomcat上时,总是报这样一个错误:
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]";
java.lang.OutOfMemoryError:PermGen space
在网上查找资料发现,这是MyEclipse内存不够的原因。
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域, 这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中, 它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对 PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误, 这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
网上大多数资料的解决方法基本上都是修改TOMCAT_HOME/bin/catalina.bat文件的内容,具体修改方法下文会给出。很多人可能会发现,修改过catalina.bat文件的内容,但是依旧会出现内存溢出这样的错误。这是因为修改这个文件只有在用批处理程序启动Tomcat服务器时才有效,如果启动Tomcat是通过MyEclipse启动服务器的话,需要在MyEclipse里面同样设置内存大小。
解决方法:
一、手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.bat(windows系统)或者catalina.sh(unix系统)在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=256M -XX:MaxPermSize=512m
二、如果启动Tomcat的时候是通过MyEclipse启动服务器的话,需要在MyEclipse里面同样设置内存大小
这个问题令我懊恼了不少时间,起初在百度查找相关资料时,只是搜索关键字错误信息,发现很多文章提供的解决方法不够全面都不能解决,后面在错误信息前加上MyEclipse时(搜索关键字:MyEclipse Caused by: java.lang.OutOfMemoryError: PermGen space)终于找到了可行的解决方案,这应该也算是一个查找资料的小技巧吧。
相关推荐
为了有效解决`java.lang.OutOfMemoryError: PermGen space`的问题,可以从以下几个方面入手: 1. **增加PermGen space大小**: - 使用`-XX:PermSize`设置初始大小; - 使用`-XX:MaxPermSize`设置最大大小。 - ...
通过以上方法,通常可以有效解决Myeclipse下出现的`java.lang.OutOfMemoryError: Java heap space`问题。需要注意的是,在调整JVM参数时应当根据实际情况合理设置,以免造成资源浪费或者性能下降。同时也要持续关注...
在Java应用程序运行过程中,可能会遇到“OutOfMemoryError: PermGen space”的错误提示。这种错误通常发生在永久代(PermGen space)内存不足的情况下,永久代主要用于存储类的信息、常量、静态变量以及方法信息等。...
解决方法 后面我把原先tomcat启动环境用的jdk1.7改为了本机安装的jdk1.8就不在报错。 具体过程: 在myeclipse中点击window→preference→在搜索框中输入Tomcat→选择安装的tomcat版本,我这里是选择Tomcat 7.x→点击...
JavaMail的java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream错误 原因: MyEclipse6.5的javaee.jar中的mail包与JavaMail包有冲突。 解决: 在MyEclipse目录下(D:\Program Files\MyEclipse ...
### OutOfMemoryError: PermGen space 错误详解与解决方案 #### 一、问题背景及症状 在开发或运行基于Java的应用程序时,有时会遇到一个常见的错误提示:“OutOfMemoryError: PermGen space”。该错误通常发生在...
MyEclipse axis2 wsdl java.lang.reflect.invocationtargetexception code gen 大家要注意一定要仔细,这个问题基本上缺少包引起的,而且一定要clean 如果需要axis2插件 以及这个plugins中的包在我的其他资源里面有
### java.lang.UnsupportedClassVersionError: Bad version number ...通过上述方法,可以有效地解决`java.lang.UnsupportedClassVersionError: Bad version number in .class file`异常问题,并确保项目能够平稳运行。
遇到“MyEclipse在启动Tomcat时出现‘An internal error occurred during: "Calculating completion proposals..."’的警告窗口,通常是由于`java.lang.NullPointerException`异常引起的。通过检查项目配置、更新...
"java.lang.NoClassDefFoundError错误解决办法" java.lang.NoClassDefFoundError错误是一种常见的Java错误,它发生在Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。下面是该错误的解决...
### Java.lang.NullPointerException 解决方法详解 在Java开发过程中,`java.lang.NullPointerException`(简称NPE)是一种常见的运行时异常。它发生在试图对空对象执行操作时,例如调用对象的方法或访问其属性等。...
解决方法二:在myeclipse中,window-preferences-servers-resin-resin 3.x- optional program arguments添加:-Djava.library.path=D:\oracle\product\10.2.0\client_1\BIN 解决方法三:右击项目-...
在Java开发环境中,我们经常会遇到`java.lang.NoClassDefFoundError`这个异常,这是一个运行时错误,通常发生在尝试执行一个包含对某个类的引用,但系统无法找到该类的定义时。在这个特定的问题中,错误涉及到`org....
【标题】:“MyEclipse.6.Java.开发中文教程第14章代码”指的是一个针对MyEclipse 6版本的Java开发教程中的第14章所涉及的源代码示例。这一章节可能深入讲解了如何在MyEclipse环境中使用Java进行Web应用开发,特别是...
Type 异常报告 消息 Failed to convert ... nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'java.util.Date': no matching editors or co
在使用Myeclipse的过程中,不少用户遇到了一个较为常见的问题:安装Aptana插件之后,每次启动Myeclipse时都会出现`java.lang.NullPointerException`异常提示。尽管这一异常并不影响正常的开发工作,但对于追求完美的...
6. **性能优化**:MyEclipse 2021.5.24a在性能上进行了优化,启动速度更快,内存占用更少,同时提供了一套完善的性能分析工具,帮助开发者识别和解决性能瓶颈。 7. **强大的插件系统**:MyEclipse拥有丰富的插件库...
MyEclipse.6.Java.开发中文教程--全 最全的版本 从第一章到第十八章还有全部代码 因为文件大小,所以只能分三个部分上传,请下载完全后解压缩 名为:MyEclipse.6.Java.开发中文教程--全.part1 MyEclipse.6.Java.开发...