Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序设计中避免PermGen空间故障的最佳实践_Java - Fatal编程技术网

Java 应用程序设计中避免PermGen空间故障的最佳实践

Java 应用程序设计中避免PermGen空间故障的最佳实践,java,Java,有没有什么特别的提示来设计不受这种错误影响的应用程序? 这个错误的一个原因是频繁地从perm空间重新加载类,JVM无法处理类所在的空间的正确集合。然而,Tomcat6有这样的问题,而Tomcat7没有。Tomcat 7在重新加载类而不产生问题的设计上有什么不同呢?一般来说,只是增加了permgen空间。RAM现在是如此便宜,以至于您可以慷慨地使用64位JVM。但是,一旦您的代码投入生产且不需要频繁重新部署,这种情况就不会经常发生。Tomcat 7仍然会这样做:您有任何来源支持Tomcat 7中的

有没有什么特别的提示来设计不受这种错误影响的应用程序?
这个错误的一个原因是频繁地从perm空间重新加载类,JVM无法处理类所在的空间的正确集合。然而,Tomcat6有这样的问题,而Tomcat7没有。Tomcat 7在重新加载类而不产生问题的设计上有什么不同呢?

一般来说,只是增加了permgen空间。RAM现在是如此便宜,以至于您可以慷慨地使用64位JVM。但是,一旦您的代码投入生产且不需要频繁重新部署,这种情况就不会经常发生。

Tomcat 7仍然会这样做:您有任何来源支持Tomcat 7中的声明吗?我的观点是,热部署总是冒着perm-gen错误的风险,不要使用Log4j,它似乎有某种联系:)JRebel描述了他们避免tomcat遇到perm-gen问题的方法。根据我的经验,它们做得很好,但是extend
ClassLoader
s可以做到这一点……是什么导致OOME:PermGen?我希望我能在Raspberry Pi中添加更多内存