假设我们的系统有多个处理器。这些处理器中的每一个都有自己的JVM吗?如果不是,那么另一个问题是,在具有两个不同操作系统(比如Windows和RedHat)分区的计算机中,我们必须在其中任何一个上运行java应用程序。两个平台的JVM会有所不同,那么它将如何运作?
答案 0 :(得分:2)
假设我们的系统有多个处理器。将每一个 这些处理器有各自的JVM吗?
不,每个程序执行都会启动一个JVM实例,但是JVM可能(取决于实现)使用多个进程,并且肯定会运行多个线程 ,两者都能够利用系统的多处理器设施。
如果不是,那么另一个 问题是在具有两种不同操作系统的计算机中(比如Windows 和RedHat)分区,我们必须在任何上运行java应用程序 他们对于这两个平台,JVM会有所不同,那么它将如何 工作?
为每个操作系统安装单独的JVM。同样,在每个操作系统中,人们都期望每个程序执行时启动一个JVM实例,并且上述内容再次适用。
Java是“一次编译,随处运行”,因此只要JVM版本与您编译的版本兼容,无论您执行哪个操作系统和相应的JVM都无关紧要,它将完全相同
这是因为Java字节码与平台/操作系统无关(它由JVM解释),而JVM本身是特定于平台/操作系统的。