Java程序的运行机制
作者:互联网
目录
Java程序的运行机制
Java语言是一种特殊的高级语言,它既具有编译型语言的特征,有具有解释性语言的特征。Java程序要经过先编译、后解释这两个步骤
高级语言的运行机制
计算机高级语言按程序的执行方式可分为编译型(如C语言)和解释性(如Python)两种。[^1]
编译型语言
是指使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性程序的格式的语言。
特点
在编译型语言写的程序执行之前,需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高。
总结
- 一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;
- 与特定平台相关,一般无法(直接)移植到其他平台;
- 现有的C、C++、Objective等都属于编译型语言。
解释型语言
是指使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行。是代码在执行时才被解释器一行行动态翻译和执行,而不是在执行之前就完成翻译。
特点:
解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序。
总结
- 解释型语言每次运行都需要将源代码解释称机器码并执行,效率较低;
- 只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植;
- Python、JavaScript、Ruby等属于解释型语言。
Java程序的运行机制和JVM
Java和其他的语言不太一样,由Java编写的程序需要经过编译步骤,但这个编译步骤并不会生成特定平台的机器码,而是生成一种与平台无关的字节码(也就是*.class文件
),这种字节码文件不是可执行的,必须使用Java解释器来解释执行。因此可以认为:Java语言既是编译型语言,亦是解释型语言。或者是,Java解释既不是纯粹的编译型语言,也不是纯粹的解释性语言。Java程序必须经过先编译、后解释这两个步骤。
标签:解释,Java,语言,平台,程序,编译,运行机制 来源: https://www.cnblogs.com/lemonsama/p/15151855.html