3

任何人都可以解释在开发模式下使用jsp和servlet时发生内存泄漏的可能方法吗?

开始使用后得到永久空间异常 jsp&servlets

eclipse.ini我给出的内存规格:

-Xms1024m
-Xmx1024m
-XX:MaxNewSize=448m 
-XX:NewSize=448m 
4

2 回答 2

1

这可能是您正在创建连接并且在重新部署您的项目时您没有释放您的连接资源这可能是您的 permgem 异常问题之一。

于 2013-01-24T07:28:42.130 回答
1

以下是对此的一些评论/建议。

  1. 您正在获得 permgen 空间异常。要理解这个错误,您需要对Java 内存模型以及 pergen 空间的使用方式有所了解。查看此链接以获取有关此内容的简要概述。
  2. 基本上是堆空间中分配的对象永远不会被垃圾收集器回收的区域。在这个区域上分配了特定的对象类型(例如类加载器、文字池等)
  3. JVM 使用的 Pergen 空间可以在启动时指定。如果您不指定,它将采用一些默认值。
  4. 对您的应用程序进行内存分析是个好主意。内存分析可以很好地了解实际的堆使用情况。您可以检查正在创建的对象的类型和数量,然后将它们跟踪到执行此操作的代码。
  5. 有很多可用的商业和开源分析工具。您可以尝试其中的一些。有与 JDK 捆绑在一起的VisualVM 。
  6. 最后,为 JVM 设置适当的内存设置始终是调整练习。它不是一种适合所有人的尺寸:) 并且分析对于调整您的应用程序非常重要。
于 2013-01-24T08:21:02.810 回答