编译_解释_java
程序员文章站
2022-06-23 11:12:57
编译型语言:针对特定的平台(操作系统,指令集体系),通过指定平台的编译器一次性编译成特定平台的机器指令,再次执行时效率高,但是跨平台时,由于不同的机器的指令集可能不同,对同一机器指令的解析结果可能不同甚至无法解析,所以必须将源代码复制到新的机器上,针对特定平台利用该机器的指令集重新编译。解释性语言:逐行解释成特定平台的机器码,边解释边执行,但是每次执行都需要重新编译一次,但是只需要提供特定平台的解释器,就可以实现跨平台,所以程序的移植是以效率为代价的。解释型和编译型比较:1.编译型效率高,.....
以下是个人拙见,希望大家指正
-
编译型语言:针对特定的平台(操作系统,指令集体系),通过指定平台的编译器一次性编译成特定平台的机器指令,再次执行时效率高,但是跨平台时,由于不同的机器的指令集可能不同,对同一机器指令的解析结果可能不同甚至无法解析,所以必须将源代码复制到新的机器上,针对特定平台利用该机器的指令集重新编译。
-
解释性语言:逐行解释成特定平台的机器码,边解释边执行,但是每次执行都需要重新编译一次,但是只需要提供特定平台的解释器,就可以实现跨平台,所以程序的移植是以效率为代价的。
-
解释型和编译型比较:
1.编译型效率高,跨平台困难
2 解释型可以通过解释器跨平台,但是效率相对降低 -
JDK包括:
- java编译器
- JRE【JVM,类加载器,字节码校验器等】
- java类库
-
java(半编译半执行,均不纯粹):编译器对不同语言提供相同的编程接口,使得编译器可以将它们转化成可以被jvm解释执行的二进制字节码文件(与平台无关),并且编译器只需要面对jvm即可,(怀疑jvm对不同的平台也提供了相同的接口,使得在不同的平台上可以被转化成不同的机器代码执行)
-
半编译在于:均需要一次性编译;但是编译出来的不是最终与特定平台相关的机器代码,而是平台无关的字节码,实现了跨平台。
-
半执行在于:均需要类似解释器(转换器)的东西解释成特定机器的机器代码;但是解释型每次执行时需要解释一次,java虚拟机可以保留中间的字节码文件,效率改善了。
-
所以这是两种运行机制优点的结合
本文地址:https://blog.csdn.net/qq_42349617/article/details/112051549
上一篇: 《java入门》基本输出方式