JVM 整体组成可分为以下四个部分:
- 类加载器(ClassLoader)
- 运行时数据区(Runtime Data Area)
- 执行引擎(Execution Engine)
- 本地库接口(Native Interface)
JVM组成如图所示:
程序在执行之前先要把java代码转换成字节码(class文件),jvm首先需要把字节码通过一定的方式类加载器(ClassLoader)把文件加载到内存中运行时数据区(Runtime Data Area),而字节码文件是jvm的一套指令集规范,并不能直接交个底层操作系统去执行,因此需要特定的命令解析器执行引擎(Execution Engine)将字节码翻译成底层系统指令再交由CPU去执行,而这个过程中需要调用其他语言的接口本地库接口(Native Interface)来实现整个程序的功能,这就是这4个主要组成部分的职责与功能。
后面会详解这几个部分的原理,请关注我的博客~
JVM - 运行时数据区 内存结构 详解githubs.xyzJVM - 类加载器(ClassLoader) 原理 详解githubs.xyz