解释型语言与编译型语言

一 定义
  

解释型语言

  源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次。

  多次解释,多次执行。【每执行一次,便解释一次。】

  ①程序执行效率:低(一般情况)

  ②跨平台性:高

  ③解释器依赖度:高

  ④形如:Java、JavaScript、Python、VBScript、MATLAB、Ruby等

编译型语言

  首先将源代码编译生成机器语言,再由机器运行机器码二进制)。程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了。

  一次编译,多次执行。

  ①程序执行效率:高

  ②跨平台性:差

  ③编译器依赖度:高

  ④形如:C、C++、Delphi、Pascal等

机器语言

  又称“原生码”,一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。

  一条指令就是机器语言的一个语句,它是一组有意义的二进制代码。指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。

  ①优点:直接执行,速度快,资源占用少

  ②缺点:可读性、可移植性差,编程繁杂

  ③形如:机器码 0000 代表 加载(LOAD)

      机器码 0001 代表 存储(STORE)

      机器码 000000000000 代表地址为 0 的存储器

      机器码 000000010000 代表地址为 16 的存储器

      机器码 000000000001 代表地址为 1 的存储器

三 Java语言

  遗留问题

  1.JDK/JRE

  2.JVM

  3.Java内存(回收/管理)机制

Java编译>解释>执行[4]

Java虚拟机与字节码和源码之间的关系[4]

 

Java工作原理图

Java虚拟机机理

四 JavaScript语言

  test

五 Python语言

  test

六 C/C++语言

  test

七 参考文献

  [1] 百度百科 - 编译型语言

  [2] 百度百科 - 解释型语言

  [3] 百度百科 - 机器语言

  [4] Java到底是编译型语言还是解释型语言? Ans:高级解释型语言

原文地址:https://www.cnblogs.com/johnnyzen/p/10516145.html