栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

大型Portlet战争占用了内存,从而导致性能问题?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大型Portlet战争占用了内存,从而导致性能问题?

简短的响应是:是的,部署带有大量jar的war文件“可能”会导致性能问题。战争是否包含Portlet或标准Web应用程序都没有关系。但是我认为您不应该过早担心此问题,因为有解决此问题的简便方法。

将portlet或任何webApp加载到服务器时,它将主jar的类加载到Web服务器的堆(分配给Java进程的内存)的“永久生成”区域中。该区域存储执行的代码。当这些类使用来自其他jar的代码时,它们的代码也将加载到该区域中。如果这些区域已满,您将收到OutOfMemoryError异常。

解决问题的方法很简单:

  1. 为您的内存分配更多内存(JVM的参数-Xmx)

  2. 如果您有几个带有相同jar文件的.war文件,请从war文件中删除这些jar,并将其放在Web服务器所有公共库所在的目录中。该目录的位置取决于您使用的Web App服务器。

因此,您不必担心此问题,因为它有解决方案。

该PDF
http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf解释了Java中内存管理的工作方式。它适用于常规Java应用程序和Web应用程序。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/636043.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号