龙空技术网

编译型语言和解释型语言的区别?

coder人生 174

前言:

当前姐妹们对“java语言是解释型语言吗”大致比较注重,兄弟们都需要分析一些“java语言是解释型语言吗”的相关文章。那么小编也在网上网罗了一些关于“java语言是解释型语言吗””的相关文章,希望咱们能喜欢,你们一起来学习一下吧!

编译型语言:编译是指在应用源程序执行之前,就将程序源码翻译成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便,效率比较高,但应用程序一旦需要修改必须先修改源代码,再重新编译生成新的目标文件才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的。编译程序将源程序翻译成目标程序后保存在另一个文件中,该目标程序可脱离编译程序直接在计算机上多次运行。大多数软件产品都是以目标程序形式发行给用户的,不仅便于直接运行,同时又使他人难于盗用其中的技术,c/c++都是编译型语言。

解释型语言:解释型语言的实现中,翻译器并不产生目标机器代码,而是产生易于执行的中间代码。这种中间代码与机器代码是不同的,中间代码的解释是由软件支持的,不能直接使用硬件,软件解释器通常会导致执行效率较低。用解释型语言编写的程序是由另一个可以理解中间代码的解释程序执行的。与编译程序不同的是,解释程序的任务是逐一将源程序的语句解释成可执行的机器指令不需要将源程序翻译成目标代码后再执行,解释程序的优点是当语句出现语法错误时,可以立即引起程序员的注意,而程序员在程序开发期间就能进行校正,对于解释型basic语言,需要一个专门的解释器执行解释basic程序。每条语句只有在执行时才被翻译,这种解释型语言每执行一次就翻译一次,因而效率低下。一般的动态语言都是解释型的。

需要注意的是,java是一类特殊的编程语言,java程序也需要编译,但是却没有直接编译为机器语言,而是编译为字节码,然后在java虚拟机上以解释的方式执行字节码。

标签: #java语言是解释型语言吗 #java是解释型还是编译型语言的 #java是解释型还是编译型语言的概念