JAVA基础知识
时间:2021-06-25 16:45:53
收藏:0
阅读:0
编译型语言与解释型语言
计算机是不能理解高级语言的,更不能直接执行高级语言,所以任何的高级语言编写的程序,要想被计算机执行,都必须将其转换成计算机可以识别的机器语言,也就是机器码。
这种转换方式有两种:
- 编译
- 解释
据此,高级语言可以被划分为解释性语言和编译型语言。
主要区别在于:
编译型语言:源程序编译之后即可在该平台运行,所以运行速度相对较快。
解释性语言:在运行期间编译,所以其跨平台性较好。
编译型语言
使用专门的编译器,针对特定的平台,将高级语言的源代码一次性的编译成平台硬件可以执行的机器码,并包装成该平台所能识别的可执行性程序的格式。
特点:
在程序执行之前需要一个专门的编译过程,将源代码编译成硬件平台可以识别的机器码,譬如exe格式的文件,之后再运行时,直接使用编译结果即可,如直接运行exe文件。因此,只需要编译一次,所以其执行效率高。
- 一次性的编译成平台相关的机器语言文件,运行是脱离开发环境,运行效率高
- 与特定平台有关,一般无法移植到其他平台。(C,C++,Objective等)
解释型语言
使用专门的解释器对源代码逐行解释成特定平台的机器码,并立即执行。注意:是代码在执行是才被解释器逐行动态翻译和执行,而不是在执行之前就完成翻译的。
特点:
解释型语言不需要提前编译,是直接动态的将源代码解释成机器码并立即执行,因此只有某一平太提供了相应的解释器即可运行该程序。
- 解释型语言每次运行都需要将源代码解释成机器码并执行,所以效率低下。
- 只要某一平台提供了相应的解释器,就可以运行该程序,方便移植。(Python等)
JAVA是解释型语言还是编译型语言?
个人认为:java兼具两种语言的特性:既需要一次编译,又需要一个特定的运行环境(JVM),在任何一个平台上,只有运行的有JVM,即可运行Java编译后的字节码(.class)文件
java编译命令
待续。。。
欢迎各位看官指正!
特此说明:
- 该文章只做个人学习只用,不做商用。
- 该文章有有借鉴其他的文章,若有侵权请联系修正,谢谢!
评论(0)