在多处理器系统中,每个处理器都有一个独立的JVM吗?

时间:2018-05-10 10:32:13

标签: java multithreading jvm multiprocessing

假设我们的系统有多个处理器。这些处理器中的每一个都有自己的JVM吗?如果不是,那么另一个问题是,在具有两个不同操作系统(比如Windows和RedHat)分区的计算机中,我们必须在其中任何一个上运行java应用程序。两个平台的JVM会有所不同,那么它将如何运作?

1 个答案:

答案 0 :(得分:2)

  

假设我们的系统有多个处理器。将每一个   这些处理器有各自的JVM吗?

不,每个程序执行都会启动一个JVM实例,但是JVM可能(取决于实现)使用多个进程,并且肯定会运行多个线程 ,两者都能够利用系统的多处理器设施。

  

如果不是,那么另一个   问题是在具有两种不同操作系统的计算机中(比如Windows   和RedHat)分区,我们必须在任何上运行java应用程序   他们对于这两个平台,JVM会有所不同,那么它将如何   工作?

为每个操作系统安装单独的JVM。同样,在每个操作系统中,人们都期望每个程序执行时启动一个JVM实例,并且上述内容再次适用。

Java是“一次编译,随处运行”,因此只要JVM版本与您编译的版本兼容,无论您执行哪个操作系统和相应的JVM都无关紧要,它将完全相同

这是因为Java字节码与平台/操作系统无关(它由JVM解释),而JVM本身是特定于平台/操作系统的。