JVM笔记系列-java代码运行方式

162 阅读1分钟

java运行

java程序员编写.java的文件. 此时这些文件如果需要放在机器上运行需要将代码打成.jar后缀的jar包,或者是.war后缀的war包。 然后将这些jar包或war包放到线上机器部署。部署的途径包括Tomcat容器或使用java命令运行:

User.java ---> 打包 ---> 生成jar包 ---> 运行 --->java系统

上面的流程就是一个类运行的基本流程,但是其中有一个非常重要的过程,编译,也就是User.java会先编译生成为User.class文件,然后才可以被运行:

User.java ---> 打包 ---> 生成.class文件,打包 ---> 运行 --->java系统

然后,通过java -jar等命令,启动一个JVM进程运行.class文件:

User.java ---> 打包 ---> 生成.class文件,打包 ---> 运行 --->JVM

其中,这些.class文件就是我们自己之前编写的.java文件,那么这些文件通过类加载器被JVM加载到。

User.java ---> 打包 ---> 生成.class文件,打包 ---> 类加载器加载 --->JVM

加载到文件后,JVM基于自己的字节码加载引擎,执行被加载到内存里的类,寻找main()方法,开始执行.需要用到哪个类,就使用类加载器加载对应的类:

User.java ---> 打包 ---> 生成.class文件,打包 ---> 类加载器加载 ---> 寻找类 ---> 执行代码 ---> JVM

流程总结

  1. 将.java文件编译成.class文件
  2. JVM的概念
  3. JVM的作用
  4. 类加载器的概念
  5. 代码执行