JVM基础概念
java程序从编码到执行要经历一些过程。java文件通过javac命令编译成字节码文件加载到内存中,然后类加载器会将字节码文件以及其所依赖的类库都交给字节码解释器,字节码解释器对每行字节码进行解释编译成机器码,然后交给执行引擎。执行引擎会对机器码进行优化后再去执行。
图中还有一个JIT,JIT是即时编译器,其会将经常执行的代码(热点代码)编译成机器码后存在本地缓存中,下次再执行时就省略了编译的过程,可以直接执行了,以此来提高效率。
JVM是跨语言的平台
JVM目前已经可以支持100多种语言在其上运行。
JVM其实是一种规范,是字节码文件执行的规范。只要某种语言支持编译成字节码文件,那么这个语言就可以在JVM上运行。