首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java HeapSpace在同一台机器上的分配

Java HeapSpace在同一台机器上的分配
EN

Stack Overflow用户
提问于 2013-09-20 18:43:02
回答 4查看 157关注 0票数 1

谁能解释一下,如果三个java应用程序在同一台机器上运行,堆空间将如何分配?

每个JVM是否分配单独的堆空间。否则,它将在三个应用程序中通用。

提前谢谢。

EN

回答 4

Stack Overflow用户

发布于 2013-09-20 18:47:27

每个JVM都将拥有自己的堆内存(并且每个堆内存都将包含许多对象)。您可以阅读这篇文章以获得进一步的说明:http://javarevisited.blogspot.com.es/2011/05/java-heap-space-memory-size-jvm.html

票数 1
EN

Stack Overflow用户

发布于 2013-09-20 18:44:52

当应用程序创建一个新对象时,jvm子分配一个连续的堆内存区域来存储它(请参阅THIS )。

票数 0
EN

Stack Overflow用户

发布于 2013-09-20 19:49:08

每个JVM都有自己的“堆空间”,也就是说,每个JVM都有自己的虚拟地址空间,用于堆。从每个JVM的角度来看,它都有自己的内存空间,只有它自己才能访问。

然而,在幕后,它有点复杂。每个JVM的私有内存空间是由操作系统内核的虚拟内存系统创建的假象。在实践中,计算机上运行的所有程序必须共享可用的(可能是有限的) RAM。因此,JVM正在争夺可用的RAM。就“堆空间”是RAM的一部分而言,堆空间并不是独立的。特别是,如果一个JVM运行一个贪婪的应用程序,该应用程序使用了大量的堆空间(因此也就是大量的RAM),因此JVM的总工作集超过了RAM,那么所有的JVM都会变慢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18914790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档