从字面意思理解就是代码缓存区,它缓存的是JIT编译器编译的代码,简言之codeCache是存放JIT生成的机器码。当然JNI的机器码也放在codeCache里,不过JIT编译生成的native code占主要部分。所以还要把字节码class编译成与本地平台相关的机器码,这个过程就是后端编译。两种执行方式的区别很明显,第一种在遇到频繁调用的方法或代码块时执行效率很低,但是解释执行可以节省内存,立即执行。然后当程序运行一段时间后,编译执行即JIT优化,可以获得更高的执行效率。所以说二者是相辅相成的。现在的Java虚拟机这两种方式都包含:

JVM代码缓存区CodeCache原理及用法解析

JVM代码缓存区CodeCache原理及用法解析

JVM代码缓存区CodeCache原理及用法解析

JVM代码缓存区CodeCache原理及用法解析