image.png

    • 首先我们会写好很多以 “.java” 为后缀的代码文件;
    • 将写好的 “.java” 文件都编译成 “.class” 为后缀的字节码文件;
    • 将所有的 “.class” 文件打包成 jar 或 war 文件,放到线上的服务器去;
    • 然后在服务器上运行 “java -jar” 命令运行 jar 文件中的代码,或通过 Tomcat 这类容器来运行我们写好的代码;
    • 一旦采用 “java” 命令运行代码,实际上会启动一个 JVM 进程,由这个 JVM 进程负责运行这些 “.class” 字节码文件;
      • JVM 想要运行 “.class” 字节码,需要先使用类加载将所需运行的类从 “.class” 字节码文件中加载到 JVM 所属的内存中;
      • JVM 会基于自己的字节码执行引擎,执行加载到内存里的我们之前写好的类;
        • 例如,如果代码中有一个 main() 方法,JVM 就会首先加载 main() 方法所属的入口类,从 main() 开始执行里面的代码,main() 中需要哪个类的时候,就会使用类加载器来加载对应的类。