java源文件运行机制
java源文件运行机制
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执行文件。
图解:
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。
图解:
4、参考文献:
1、编译型语言和解释型语言
2、编译性语言和解释性语言的区别
3、弄懂 JRE、JDK、JVM 之间的区别与联系
java源文件运行机制相关教程