JVM是如何运行的

JVM(Java Virtual Machine,Java虚拟机)是 Java 程序的运行环境,它负责将 Java 字节码翻译成机器代码并执行。也就是说 Java 代码之所以能够运行,主要是依靠 JVM 来实现的。

JVM 整体的大概执行流程是这样的:

  1. 程序在执行之前先要把 Java 代码转换成字节码(class 文件),JVM 首先需要把字节码通过一定的方式类加载器(ClassLoader) 把文件加载到内存中运行时数据区(Runtime Data Area)
  2. 但字节码文件是 JVM 的一套指令集规范,并不能直接交个底层操作系统去执行,因此需要特定的命令解析器,也就是 JVM 的执行引擎(Execution Engine)会将字节码翻译成底层系统指令再交由 CPU 去执行;
  3. 在执行的过程中,也需要调用其他语言的接口,如通过调用本地库接口(Native Interface) 来实现整个程序的运行,如下图所示:

所以,整体来看, JVM 主要通过分为以下 4 个部分,来执行 Java 程序的,它们分别是:

  1. 类加载器(ClassLoader)
  2. 运行时数据区(Runtime Data Area)
  3. 执行引擎(Execution Engine)
  4. 本地库接口(Native Interface)
相关推荐
一只空白格13 分钟前
ThreadLocal的作用和底层原理
java·开发语言·jvm
ren0491817 分钟前
JVM复习
jvm
今天你TLE了吗19 分钟前
JVM学习笔记:第九章——StringTable字符串常量池
java·jvm·笔记·后端·学习
1104.北光c°23 分钟前
JVM虚拟机【八股篇】:类加载机制与性能调优
java·开发语言·jvm·笔记·程序人生·调优·双亲委派
不光头强40 分钟前
object所有方法及知识点
java·开发语言·jvm
予枫的编程笔记40 分钟前
【面试专栏|JVM虚拟机】CMS vs 其他垃圾收集器:核心差异+适用场景
java·jvm·java面试·后端开发·垃圾回收机制·cmv垃圾回收器·jvm性能优化
茉莉玫瑰花茶1 小时前
C++ ORM 实战:ODB 框架全解析(Linux + MySQL)
jvm·数据库·oracle
俩娃妈教编程2 小时前
C++基础知识点:位运算
java·开发语言·jvm·c++·位运算
周末吃鱼4 小时前
复习-JVM何时结束
运维·服务器·jvm
sxlishaobin4 小时前
JVM 核心知识点总结
jvm