2010-12-12 66 views
1

我有一个问题从我的全新的Java Web应用程序。在网络服务器中,每天增加访问量的网站最大的问题是什么?记忆是未来的问题吗?我的应用程序使用简单的J2EE,Tomcat,JPA和Hibernate。Java JVM如何工作?

我是一名PHP开发人员,并且对于我的网站的每个访问者,我使用了更多的内存,而在Java中,这些内容是如何工作的?

+0

你到底在问什么? J2E开发者最常遇到的问题是什么? – 2010-12-12 23:08:44

+0

他可能会想知道它可能会失去资源...内存/运行时...它可能是什么以及如何处理它 – lisak 2010-12-12 23:11:17

+0

是的,就是它lisak! – Marcos 2010-12-12 23:37:44

回答

1

与PHP一样,Java Web应用程序为每个并发请求使用一点内存。因此,同时运行的请求越多,内存足迹就越大。在某些负载下所需的总内存取决于每个请求处理的速度,因为更快的处理意味着更少的并发请求。

我也假设一个PHP Web应用程序在启动时使用很少的初始内存,但是会使用更多的内存相比,Java Web应用程序的每个请求。原因是Java Web应用程序通常会预先加载更多对象,而像Hybernate这样的API通常会配置为使用数据库连接池和对象缓存。

1

这取决于你需要多少对象使用......在Java中,通常是内存的问题,这是一个事实,你创造的证件DOM模型造成的。

但是,如果它是一个简单的Web应用程序,那么问题应该是这样的事实,总有一个servlet实例处理请求,这样你就不会出去的内存,但它会变得非常缓慢。来自tomcat的线程将不得不等待,直到请求被处理以执行另一个线程。

每秒请求的数量只有限制......但正如我所说,这很可能会导致内存不足。

+0

Javascript使用DOM,Java servlets不使用。 – Kdeveloper 2010-12-12 23:37:08

+0

这是一个例子,他如何能够摆脱记忆。我想应用程序正在做一些事情。不仅显示内容。顺便说一句,Hibernate是非常优化的,通常不是问题......与PHP Symfony框架比较,例如消耗大量内存和运行时本身。 – lisak 2010-12-12 23:42:39

+0

您能否向我解释如何创建文档的DOM模型可以创建内存问题?我正在做文档分析,并在我的服务器上面临内存问题(以及CodeCache),而在本地PC上运行正常。您的评论对我来说似乎很有趣。 – Waylander 2012-06-11 08:52:44