0
点赞
收藏
分享

微信扫一扫

JVM 介绍

1 什么是 JVM

JVM 是 Java Virtual Machine(Java 虚拟机)的缩写。一台执行 Java 程序的机器。

2 JAVA 语言的执行原理

计算机语言:

计算机能够直接执行的指令。这种指令和系统及硬件有关。

计算机高级语言:

在遵循语法的前提下,写一个文本文件,之后利用某种方式,把文本转换为计算机指令

执行。

A. 编译型语言(C 语言):文本文件(.c) --> 编译器 --> 可执行文件(.exe) -->

执行机器指令。特点:运行速度快,但不能跨平台

B. 解释型语言(JavaScript):文本文件 --> 解释器 --> 翻译成机器指令并执

行。特点:运行速度较慢,但能跨平台

JAVA 语言先编译,后解释执行

文本文件(java) --> 编译器 --> class 文件(虚拟指令) --> JAVA 虚拟机(JVM)

–> 解

释为指令执行

3 JDK + JRE + JVM

(1)JDK(JAVA 开发环境):JRE + 工具(编译器、调试器、其他工具…)+ 类库

编译器:将 JAVA 文件编译为 JVM 能够看懂的文件(Class 文件)。

(2)JRE(JAVA 运行环境):JVM + JAVA 解释器

Java 解释器:将虚拟指令解释为机器指令执行。

(3)JVM(JAVA 虚拟机)

4 JAVA 字节码文件结构

ClassFile {

u4 magic;

u2 minor_version; 副版本号

u2 major_version; 主版本号

u2 constant_pool_count;

cp_info constant_pool[constant_pool_count-1];

u2 access_flags;

u2 this_class;

u2 super_class;

u2 interfaces_count;

u2 interfaces[interfaces_count];

u2 fields_count;

field_info fields[fields_count];

u2 methods_count;

method_info methods[methods_count];

u2 attributes_count;

attribute_info attributes[attributes_count];

}

5 总结

JVM 介绍_编译器

JVM 介绍_java_02

JVM 介绍_文本文件_03

结论:编译的本质就是将 java 源文件转为 JVM 能够认识的 16 进制 class 文件格式


举报

相关推荐

0 条评论