Eclipse中运行Tomcat遇到的内存溢出错误

使用Eclipse(版本Indigo 3.7)调试Java项目的时候,遇到了下面的错误:

Exception in thread “main” Java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)

很明显是内存溢出的错误,在Eclipse集成的Tomcat环境下,频繁进行热发布的时候会出现这个情况。了解到该原因是因为默认分配给JVM的内存为4M,而Eclipse中有BUG导致eclipse.ini中的参数无法传递给Tomcat,这样在项目加载内容较多时,很容易造成内存溢出。解决方案为增加JVM的内存空间。

有一点需要注意,因为使用的是Eclipse中集成的Tomcat,因此要在下面的界面中设置。

附主要的Eclipse版本代号及版本

版本代号 平台版本 主要版本 发行日期 SR1发行日期 SR2发行日期
Callisto 3.2 2006年6月26日 N/A N/A
Europa 3.3 2007年6月27日 2007年9月28日 2008年2月29日
Ganymede 3.4 2008年6月25日 2008年9月24日 2009年2月25日
Galileo 3.5 2009年6月24日 2009年9月25日 2010年2月26日
Helios 3.6 2010年6月23日 2010年9月24日 2011年2月25日
Indigo 3.7 2011年6月22日 2011年9月23日 2012年2月24日
Juno 3.8及4.2 2012年6月27日 2012年9月28日 2013年3月1日
Kepler 4.3 2013年6月26日 2013年9月27日 2014年2月28日
Luna 4.4 2014年6月25日 N/A N/A
Mars 4.5 2015年 N/A N/A
Neon 4.6 2016年 N/A N/A
Oxygen 4.7 2017年 N/A N/A

参考资料:
1、Eclipse中通过Tomcat运行JavaWeb项目发生内存溢出:java.lang.OutOfMemoryError: PermGen space 错误的解决方案
2、Download Eclipse
3、Java SDK Download

时间: 2024-08-04 02:29:24

Eclipse中运行Tomcat遇到的内存溢出错误的相关文章

web项目在eclipse中运行正常 部署到tomcat中运行报spring context错误

问题描述 web项目在eclipse中运行正常 部署到tomcat中运行报spring context错误 20C 解决方案 quatrz配置有问题参考:http://blog.csdn.net/kingzuo/article/details/12572881http://www.cnblogs.com/kay/archive/2007/11/02/947372.html

outofmemory-Java程序中Jsoup解析大量html内存溢出,资源没有回收,内存一直增长

问题描述 Java程序中Jsoup解析大量html内存溢出,资源没有回收,内存一直增长 Java程序中Jsoup解析大量html内存溢出,资源没有回收,内存一直增长 [code="java"] 最近要改别人写的一个解析html入库的程序,原本没有抽取正文的代码,就自己找了一个放了进去,是根据Jsoup解析写的,运行之后发现Jsoup解析大量html内存溢出,资源没有回收,内存一直增长.设1G的内存也就解析了几十万的页面就崩了.查了半天之后也没找到定位到,具体是哪个参数的内存一直增加也没

关于eclipse中配置tomcat的问题

问题描述 关于eclipse中配置tomcat的问题 自己原来写java用的eclipse,后来写jsp的时候,用editplus写,然后放入定义好的文件, 用浏览器看运行结果,最近下了web的插件,想在Java中编写jsp代码,但是卡在tomcat 和eclipse的相互配置上. 现在我想把写好的jsp文件保存在自己的D盘JspWeb目录下, 自己浏览器默认的端口改成了80,我的原来的路径是这样的 < Context=path"JspWeb" docBase="D:J

java中三种常见内存溢出错误的处理方法(good)

相信有一定java开发经验的人或多或少都会遇到OutOfMemoryError的问题,这个问题曾困扰了我很长时间,随着解决各类问题经验的积累以及对问题根源的探索,终于有了一个比较深入的认识. 在解决java内存溢出问题之前,需要对jvm(java虚拟机)的内存管理有一定的认识.jvm管理的内存大致包括三种不同类型的内存区域:Permanent Generation space(永久保存区域).Heap space(堆区域).Java Stacks(Java栈).其中永久保存区域主要存放Class

在Eclipse中运行Solr 基础知识_java

Solr我还是个菜鸟,写这一些文章只是记录一下最近一段时间学习Solr的心得. Solr是什么? 最近我学Solr的时候,一直看到一句话,Solr 是一个可供企业使用的.基于 Lucene 的开箱即用的搜索服务器.当时想了很久没看懂这句话是什么意思,什么是搜索服务器?当接触的深了才发现,所谓的搜索服务器,就是能够在服务器(Tomcat,Jetty)中运行的搜索程序的一个工程. Solr能做什么? 了解过Lucene的人都知道,Lucene在做两件事情,索引管理与搜索,Solr同样也不例外,做的也

Eclipse中使用tomcat对于是否启动的误解

Eclipse是开发过程的IDE,假如你和我一样,使用Eclipse开发一个java语言中的maven的web项目,在开发过程中肯定会对项目进行调试.调试的方法,就是在Eclipse上启动操作系统中安装好的tomcat,然后让自己的web项目run on server,也就是让自己的项目在eclipse的tomcat上运行,看看效果.这个时候,也就是调试的时候,eclipse和tomcat是什么关系呢?简单描述,eclipse使用tomcat.操作系统上安装的tomcat如下图所示:但是,当你通

中文观点句 软件-这个软件老师给的如何在eclipse中运行,有点大,大神帮帮忙

问题描述 这个软件老师给的如何在eclipse中运行,有点大,大神帮帮忙 http://pan.baidu.com/s/1zeDjd

eclipse-安卓在Eclipse中运行项目,为什么虚拟机中不会直接运行项目?

问题描述 安卓在Eclipse中运行项目,为什么虚拟机中不会直接运行项目? 解决方案 贴出debug再百度一下就知道了 解决方案二: Eclipse不可不知的用法之四:配置服务器与项目的新建运行

利用javax.comm中的实例文档simplewrit在eclipse中运行,显示无错误,运行后怎么才知道自己在串口发送成功了?

问题描述 利用javax.comm中的实例文档simplewrit在eclipse中运行,显示无错误,运行后怎么才知道自己在串口发送成功了,我用了个叫串口精灵的软件,但是显示没有数据从串口发出