我正在Eclipse中编写App Engine Java应用程序。到目前为止,它一直只是在玩数据存储和JDO,应用程序没有做任何严肃的事情。然而,经过大约一个小时的开发,我最终得到了java.lang.OutOfMemoryError错误。
我已经读过这个错误很可能是由某种内存泄漏引起的。为了进行测试,我尝试加速一些事情,并强制出现错误。使用wget,我在Eclipse中的开发期间向相同的URL发出了大约3000个请求。但什么都没发生。我假设如果真的有内存泄漏,我会这样看......
这个错误是否真的可能是由开发过程引起的?我使用触摸 appengine-web.xml的技巧,所以每次我更改并保存文件时服务器再次加载所有文件并运行DataNucleus增强器...所以它经常发生,这可能是原因?
另一件事是,在我实现以下解决方案(How to use JDO persistence manager?)以使用Persistence Manager之后,可能启动了。我在请求期间在几个地方存储了对PM的引用,但是在请求完成后它们都应该被处理掉了吗?而且,如果它是由此引起的,那么3000次请求后不会发生错误吗? (这比开发一小时内的要求更多)。
答案 0 :(得分:0)
我不想留下这个问题没有答案,所以这是从问题下面的评论中提取的:
是的,PermGen错误可能是由于在开发过程中频繁重新部署造成的。因此应用程序不一定要有内存泄漏。