一、jvm运行在操作系统之上的,它与硬件没有直接交互;
二、JVM体系结构概览
JVM的基本结构:类加载器、执行引擎、运行时数据区、本地方法接口;
过程:class文件 ----> 类加载器 ----> 运行时数据区 -----> 执行引擎 ,本地接口-----> 本地方法库。
1、类加载器ClassLoader:
负责加载class文件,class文件在文件开头有特定的文件标识,并且ClassLoader只负责 class 文件的加载,至于class文件是否能够运行则由Execution Engine决定;类加载器介绍
2、运行时数据区
JVM的内存区域,运行数据区是整个JVM的重点。我们所有写的程序都被加载到这里,之后才开始运行,Java生态系统如此的繁荣,得益于该区域的优良自治。
运行时数据区组成:程序计数器、java栈、本地方法栈、堆、方法区。 运行数据区介绍
3、Execution Engine 执行引擎
Execution Engine 执行引擎负责解释命令,提交操作系统执行。执行引擎是JVM的核心组成部分之一,任何JVM实现的核心是Execution Engine。执行引擎将java字节码转为机器能够识别的机器码,并调用机器的指令集进行计算等。不同JVM的执行效率很大程度上取决于它们各自实现的Execution Engine的好坏。
4、Native Interface 本地接口
Java本地接口是一个标准的JAVA API,它支持将Java代码与其他语言编写的代码相集成。