JVM 实例何时被实例化?

when an instance of the JVM is instantiated?

我有一个 java class,其中包含在托管平台中执行某些操作的说明。

java Foo.class

我相信 JVM 的实例是 created/instantiated 在 运行 "java" 命令之后。我没理解错吗? "java"command是一个独立的程序或进程,但实例化的JVM是另一个进程...

"java command" 一词有点误导。您要启动的是一个程序或应用程序。在 unix/linux 中,它是设置了执行位的二进制文件,在 windows 中,它是扩展名为 *.exe 的文件,在 OSX 中,它可以是二进制文件或 *.app

在所有这些情况下,OS 启动了一个名为 "java" 的进程, JVM。

java(Windows 中的java.exe)是一个应用程序,它是 jvm 库(Windows 中的jvm.dll)的包装器。我们可以说 java.exe 是一个 JVM 启动器。