Java基础笔记2(编译型和解释型)

编译型和解释型

计算机不能理解高级语言,只能直接理解机器语言,所以使用任何高级语言编写的程序若想被计算机运行,都必须将其转换成计算机语言,也就是机器码。而这种转换的方式有两种:编译型和解释型。

编译型

一次编译,多次执行。(运行速度快,跨平台性差)

源程序执行前编译,只编译一次,以后运行时不需要编译。

使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式。

编译型语言:C、C++、Objective等

解释型

边解释,边执行。(跨平台性好,效率较低)

直接将源代码解释成机器码并立即执行。

使用专门的解释器,逐行解释源程序为特定平台的机器码并立即执行。代码在执行时才被解释器一行行动态翻译和执行,而不是在执行之前就完成翻译。

解释型语言:Python等

JAVA程序运行机制

Java既具有编译型特点,也具有解释型特点。

因为有JVM的存在,Java可以一次编译,到处运行。

Java编译型特点:

所有的Java代码都是要编译的成字节码文件。

Java解释型特点:

编译后的Java代码不能直接运行,需要在JVM上进行解释运行。(或编译运行)