jvm同时启动两个进程会有两个堆嘛

问问题描述

jvm同时启动两个进程会有两个堆嘛,有没有大神路过?求指点迷津!

答精选答案

最佳答案

是的,一般来说,每个进程是拥有自己独立的存储空间,那怕它们是同一个程序的多次执行。

但其实每个进程所占用的空间其实包含了代码段,数据段,堆栈段等。这些用途不同的存储空间是可以分别进行管理的,这也是段式内存管理的一个重要目标。这直接导致了不同的进程间可以拥有不同的数据内容(比如写字板里不同的文本),但它们可以共用一个代码段,因为这一部分不会因为运算的数据不同而有任何变化。 其实在Windows里,dll动态链接库也是这个思想,一些函数功能和它的代码部分,甚至在程序执行时并不装入内存,只有当程序运行到需要调用他们时才会被动态的真正装入内存,同时只装入内存一次,如果再有其它程序也需要调用这个dll,那么它们会共享这部分代码段,从而能有效的提高内存的使用,减少浪费。尤其是很多操作系统的底层调用,比如用于处理图形界面的显示等功能就可能被所有的图形界面程序用到,这时就可以大大提高内存的利用率。

答其他回答(1条)

  • JVM同时启动两个进程会有两个堆。每个进程都会有自己的JVM实例,每个JVM实例都会有自己的堆。堆是JVM中的一个内存区域,用于存储运行时创建的对象。每个JVM实例都会有自己的堆,这是因为每个进程都会独立运行,互相之间不会共享内存。因此,两个JVM实例启动时,就会有两个独立的堆。这样可以保证进程之间的数据独立性,避免相互干扰。

本文来自作者[海宝看看]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/gongchengkaoshi/202609/719214.html

赞 (0)

发表回复

本站作者后才能评论

评论列表(4条)

  • 海宝看看
    海宝看看 2026年09月30日

    我是公众科技网的签约作者“海宝看看”!

  • 海宝看看
    海宝看看 2026年09月30日

    希望本篇文章《jvm同时启动两个进程会有两个堆嘛》能对你有所帮助!

  • 海宝看看
    海宝看看 2026年09月30日

    本站[公众科技网]内容主要涵盖:教育咨询,知识百科

  • 海宝看看
    海宝看看 2026年09月30日

    本文概览:是的,一般来说,每个进程是拥有自己独立的存储空间,那怕它们是同一个程序的多次执行。 但其实每个进程所占用的空间其实包含了代码段,数据段,堆栈段等。这些用途不同的存储空间是可以分别进行管理的,这也是段式内存管理的一个重要目标。这直接导致了不同的进程间可以拥有不同的数据内容(比如写字板里不同的文本),但它们可以共用一个代码段,因为这一部分不会因为运算的数据不同而有任何变化。 其实在Windows里,dll动态链接库也是这个思想,一些函数功能和它的代码部分,甚至在程序执行时并不装入内存,只有当程序运行到需要调用

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们