1、前言:

首先,我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的程序。
计算机高级语言主要有编译型和解释型两种。
1、编译型的语言
编译性语言代表:C、C++、Pascal/Object Pascal(Delphi)等;

特点:
典型的就是它们可以编译后生成.exe文件,之后无需再次 编译,直接运行.exe文件即可;

2、解释型的语言
解释性语言代表:Python、JavaScript、Shell、C#、Ruby、PHP、MATLAB等等;

特点:
程序不需要编译,程序在运行时才翻译成机器语言,每执行 一次都要翻译一次。因此效率比较低。在运行程序的时候才翻译,专门有 一个解释器去进行翻译,每个语句都是执行的时候才翻译。效率比较低, 依赖解释器,跨平台性好.

JAVA语言是编译型和解释型的结合,所以其具备了编译型语言和解释型语言的所有特点。

2、Java应用程序的运行机制

java是通过javac.exe编译成.class文件 然后通过jvm加载.class文件,然后调用java.exe执行文件。

图解:
java源文件运行机制

3、JDK、JRE、JVM区别与联系

JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心。

JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来的是一部分的 Java 类库。

JDK :英文名称(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。

关系:JDK>JRE>JVM。
图解:
java源文件运行机制

4、参考文献:

1、编译型语言和解释型语言
2、编译性语言和解释性语言的区别
3、弄懂 JRE、JDK、JVM 之间的区别与联系

相关文章:

  • 2021-09-15
  • 2022-12-23
  • 2021-09-18
  • 2022-01-29
  • 2021-10-20
猜你喜欢
  • 2021-11-30
  • 2021-04-22
  • 2021-12-07
  • 2021-11-13
  • 2022-02-17
相关资源
相似解决方案