多进程Java程序是在其运行的JVM下面的实际机器的上下文中的单个进程吗?

时间:2013-07-28 22:33:08

标签: java process jvm virtualization

来自维基百科(http://en.wikipedia.org/wiki/Virtual_machine):

  

流程虚拟机(也称为语言虚拟机)旨在运行单个程序,这意味着它支持单个进程。这样的虚拟机通常非常适合于一种或多种编程语言,并且旨在提供程序可移植性和灵活性(以及其他内容)。虚拟机的一个基本特征是内部运行的软件仅限于虚拟机提供的资源和抽象 - 它不能脱离其虚拟环境

我的问题是,如果我们在JVM上运行一个多进程Java程序(我认为它是一个进程虚拟机,因为它只虚拟化处理器而不是整个机器),它是否会被视为一个进程在我的实际机器上?

1 个答案:

答案 0 :(得分:2)

你在进程和处理器之间感到困惑。

JVM在您的计算机上被视为一个进程,是的。当您启动JVM时,它作为程序运行,并执行Java字节代码。

JVM可以处理您计算机上的所有处理器。当您在Java中启动Thread时,它将在可用的处理器上执行。