Java JVM的工作原理如何?

时间:2010-12-12 23:06:21

标签: java tomcat jvm

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

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

2 个答案:

答案 0 :(得分:1)

这取决于你使用了多少个对象...在java中它通常是内存问题,这是由于你正在创建文档的DOM模型这一事实引起的。

但是如果它是一个简单的Web应用程序,那么问题应该是这样的事实,即总有一个servlet实例处理请求,所以你不会耗尽内存,但它会变得很慢。来自tomcat的线程必须等到处理请求才能执行另一个请求。

每秒的请求数量只有一些限制......但正如我所说,你更有可能会失去内存。

答案 1 :(得分:1)

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

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