什么是编译型和解释型语言?

古城微笑少年丶 2022-06-02 12:09 402阅读 0赞

讨论:Java 是编译型还是解释型语言?

回答1: 见知乎 郭无心 的回答:

有人说Java是编译型的。因为所有的Java代码都是要编译的,.java不经过编译就无法执行。也有人说Java是解释型的。因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释型的。

对于C和C++,它们经过一次编译之后,可以由操作系统直接执行,所以它们是编译型语言。而Java不一样,它首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行,所以它是解释型的语言。也正是由于java对于多种不同的操作系统有不同的JVM,所以实现了真正意义上的跨平台。

(1)Java语言的编译–>解释–>运行过程

45e5e8e74ed0fec7c782e30ac8c4edd7_hd.jpg

(2)JVM

b8934c347bde7fe377644fa78537cae0_hd.jpg

可以说Java是兼具编译型语言与解释型语言的特点的。

回答2: Java的源代码首先被编译成字节码,然后依赖各种不同平台的虚拟机来解释执行字节码。

回答3: 见知乎 路人 的回答

先看下定义:

编译型语言: 把做好的源程序全部编译成二进制代码的可运行程序,然后,可直接运行这个程序。
解释型语言: 把做好的源程序翻译一句,然后执行一句,直至结束!

Java它是首先由编译器编译成.class(字节码)文件,然后在通过JVM从.class文件中读一行解释执行一行,所以它是解释型的语言,也正是由于java对于多种不同的操作系统有不同的JVM,所以实现了真正意义上的跨平台。

参考资料:

  • 知乎:Java 是编译型语言还是解释型语言?
  • 说说Python程序的执行过程 - 飞林沙 - 博客园
  • Java、Python分别是解释型还是编译型语言?
  • 爱上极客:简述编译型与解释型编程语言
  • 大前端开发者需要了解的基础编译原理和语言知识 (这篇文章讲了有关编译器、解释器、编译原理等知识,挺详细的。)

发表评论

表情:
评论列表 (有 0 条评论,402人围观)

还没有评论,来说两句吧...

相关阅读

    相关 编译语言解释语言

    计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。这个过程分成两类,第一种是编译,第二