Java对各个操作系统平台提供了各自对应的JVM虚拟机,正因为这样,才使得Java能够一次编译到处运行。
那我们平时写的Java代码是怎么运行起来的?
首先假设我们写好了一份Java代码,然后会把这份代码部署到机器上去运行
部署之前,我们先要进行编译,打包 .jar / war
然后会把 打包后的文件放到 机器上去部署
顺序 java文件 >>> 编译打包 >>> JVM 虚拟机
这其中有一个关键的步骤,那就是编译,也就是编译打包后的文件都是 .class结尾的
会把 .java 文件 编辑成 .class文件
然后这个 .class 文件才是可以被运行起来的
那如何运行这个 class 文件呢?
Java为我们提供了很多命令,诸如 java-jar 之类的命令来执行我们所编译的代码
那么JVM就会来负责运行这个 class 字节码文件 ,也就是相当于负责运行我们的Java项目
JVM要运行 class 文件
此时会有一个类加载器的概念
会由类加载器把编译好的class文件,加载进 JVM 虚拟机,然后供后续代码来使用
接着 JVM 会基于自己的字节码执行引擎 ,来执行加载到内存的代码了
比如 有个 main 方法,会从 main 方法开始执行我们的代码
那么 ,在这个方法中,需要那个类的时候,JVM会通过类加载器去加载对应的类