Java底层运行逻辑及原理
日常我们使用的开发工具(IDEA\Eclipse)可以很方便调试程序,或者是通过工具把项目打包成jar包war包的形式放入Tomcat等容器中即可运行,但是它实际上内部是如何运行的呢?其实不论在哪里运行逻辑始终相同。
1.将编写好的java代码编译成字节码文件:即将.java文件编译成为.class文件
2.将编译好的.class文件放入Java虚拟机JVM
3.Java虚拟机使用类加载器Class Loader装在.class文件
4.类加载完成后进行字节码效验,效验通过后JVM解释器会把字节码翻译成机器码交由操作系统执行。但并非所有代码都是解释执行的,JVM对此进行了优化,能够在运行時将热点代码编译为机器码,这时候字节码就变成了编译执行。
流程如下图