代码之家  ›  专栏  ›  技术社区  ›  Jé Queue

在操作系统虚拟机上使用JVM的好处?

  •  0
  • Jé Queue  · 技术社区  · 17 年前

    我看到许多部署中,IT组只在虚拟机(vmware,&c) 例如。

    我想JVM是一个正式的VM:在Java虚拟机中运行java应用程序栈有什么实际好处?

    3 回复  |  直到 17 年前
        1
  •  1
  •   Alex Martelli    17 年前

    同一台(真实的或虚拟的)机器中的两个JVM实例不会彼此完全隔离:它们不能都有套接字侦听同一个已知的编号端口,如果它们都在同一个文件系统中写入,它们可能会相互干扰,等等。

    使用操作系统级虚拟机(vmware或其他)

        2
  •  1
  •   DigitalRoss    17 年前

    IBM首先使用了“虚拟机”这个术语,所以我想我们不能将它重命名为“虚拟服务器”之类的东西。

    太糟糕了,“软件框架”的首字母中没有VM。如果您这样看待JVM,那么很明显,您实际上只是在VM中运行一个框架,而不是在同一类型的东西中运行一个框架。。。

    因此,真正的虚拟机可以随意地提供超级用户shell帐户、ssh访问、软件安装权限等等。。。。

        3
  •  0
  •   Pascal Thivent    17 年前

    在另一个VM中运行Java应用程序堆栈的真正好处是什么?

    通过这样做,您的JVM将在虚拟化硬件上运行,您可以修改这些硬件并与其他虚拟机并行运行。这是一种将大型服务器分割成“共享”的好方法,您可以根据需要进行分配。

    (编辑:我直接在回答中回答OP的评论)

    我明白你的意思,但是为什么不能在主机操作系统上做与单独进程完全相同的事情呢?

    我可以提到,一个客户可以运行另一个操作系统,但这不是最重要的部分。正如在另一个答案中指出的,最大的区别在于虚拟机是 孤立的 从其他虚拟机来看,它是真正的专用环境。port的东西是一个很好的例子,但我更喜欢这样来说明:另一个进程不会吃东西 “你的” CPU周期。这是一个非常重要的区别,尤其是对于通常不喜欢共享资源的IT团队。相反,您可以根据需要精确地调整虚拟机的大小,可能是动态的,并且 IT团队了解他们真正使用的是什么。这就是IMO使资源共享成为可能(从而降低成本)的原因。