https://javaguide.cn/java/basis/java-basic-questions-01.html#为什么说-java-语言-编译与解释并存
其实这个问题我们讲字节码的时候已经提到过,因为比较重要,所以我们这里再提一下。
我们可以将高级编程语言按照程序的执行方式分为两种:
根据维基百科介绍:
为了改善解释语言的效率而发展出的即时编译技术,已经缩小了这两种语言间的差距。这种技术混合了编译语言与解释型语言的优点,它像编译语言一样,先把程序源代码编译成字节码。到执行期时,再将字节码直译,之后执行。Java 与 LLVM 是这种技术的代表产物。
为什么说 Java 语言“编译与解释并存”?
这是因为 Java 语言即具有编译型语言的特征,也具有解释型语言的特征。因为 Java 程序要经过先编译,后解释两个步骤,由 Java 编写的程序需要先经过编译步骤,生成字节码(.class 文件),这种字节码必须由 Java 解释器来解释执行。
[编译型语言和解释型语言的区别](https://gaohanghang.notion.site/08f9724845314b54b26f0dccc8388ed1)