title: 为什么JVM不用JIT全程编译？
desc: JVM在解释字节码时，有些经常使用的热代码可以通过JIT直接编译为本地机器码，其他的仍需解释执行，既然JIT编译执行要比JVM逐句逐句的解释执行快，为什么不全部用JIT编译执行？
topic: Java
content: 之前已经回答过类似的问题，所以先放俩传送门： HotSpot是较新的Java虚拟机技术，用来代替JIT技术，那么HotSpot和JIT是共存的吗？ - RednaxelaFX 的回答 JIT编译，动态编译与自适应动态编译 - 编程语言与高级语言虚拟机杂谈（仮） - 问答社区专栏 请先读读这两篇，在看我下面的补充说明。将其中与题主这个问题相关的部分摘抄出来： 换一个JVM实现，来看看JRockit VM。这个JVM使用纯编译的执行引擎，没有解释器。但它有多层编译：第一
answerer_tags: 软件工程师、主攻高级编程语言虚拟机的设计与实现