编译_解释_java

2022-07-25,,

以下是个人拙见,希望大家指正

  • 编译型语言:针对特定的平台(操作系统,指令集体系),通过指定平台的编译器一次性编译成特定平台的机器指令,再次执行时效率高,但是跨平台时,由于不同的机器的指令集可能不同,对同一机器指令的解析结果可能不同甚至无法解析,所以必须将源代码复制到新的机器上,针对特定平台利用该机器的指令集重新编译。

  • 解释性语言:逐行解释成特定平台的机器码,边解释边执行,但是每次执行都需要重新编译一次,但是只需要提供特定平台的解释器,就可以实现跨平台,所以程序的移植是以效率为代价的。

  • 解释型和编译型比较:
    1.编译型效率高,跨平台困难
    2 解释型可以通过解释器跨平台,但是效率相对降低

  • JDK包括:

  1. java编译器
  2. JRE【JVM,类加载器,字节码校验器等】
  3. java类库
  • java(半编译半执行,均不纯粹):编译器对不同语言提供相同的编程接口,使得编译器可以将它们转化成可以被jvm解释执行的二进制字节码文件(与平台无关),并且编译器只需要面对jvm即可,(怀疑jvm对不同的平台也提供了相同的接口,使得在不同的平台上可以被转化成不同的机器代码执行)

  • 半编译在于:均需要一次性编译;但是编译出来的不是最终与特定平台相关的机器代码,而是平台无关的字节码,实现了跨平台。

  • 半执行在于:均需要类似解释器(转换器)的东西解释成特定机器的机器代码;但是解释型每次执行时需要解释一次,java虚拟机可以保留中间的字节码文件,效率改善了。

  • 所以这是两种运行机制优点的结合

本文地址:https://blog.csdn.net/qq_42349617/article/details/112051549

《编译_解释_java.doc》

下载本文的Word格式文档,以方便收藏与打印。