JVM由那些部分组成,运行流程是什么?

JVM,也就是Java虚拟机,就像是一个神奇的机器,它让编写一次的Java程序能在很多不同类型的电脑上运行。想象一下,JVM是一个舞台,而Java程序是演员。这个舞台由几个重要的部分组成,并且有一套固定的表演流程。

JVM的组成部分:

    1.    类加载器(ClassLoader):就像剧场的后台工作人员,负责把剧本(Java代码编译后的.class文件,也就是字节码)带到舞台上,让演员们(程序)能按照剧本表演。
    2.    运行时数据区(Runtime Data Area):这是演员们表演的舞台区域,包含了各种道具和化妆间。具体点说,这里有:
    •    程序计数器:记录当前表演到剧本的哪一行。
    •    虚拟机栈:每个演员有自己的小舞台,这里存储他们表演时需要的信息,比如进入和退出场景的顺序。
    •    堆:一个大的储物间,放着所有演员共用的大型道具(对象实例)。
    •    方法区:存储剧本的公共背景信息和角色介绍,还有演员们的表演指南。
    •    本地方法栈:有时候剧场会请外来嘉宾表演(本地方法),他们也需要准备空间。
    3.    执行引擎:它是导演,读取剧本(字节码),指挥演员们怎么动,怎么念台词,把剧本上的指令变成实际的动作。
    4.    本地库接口:剧场还有一些特殊通道,可以让导演调用外部专业人士(比如灯光师、特效师)的技能,这些就是本地库接口,用来和操作系统或其他语言写的程序交流。

JVM的运行流程:

    1.    加载:首先,类加载器找到并读取剧本(.class文件),把它们带入运行时数据区的方法区准备。
    2.    验证:检查剧本有没有错误,确保表演能顺利进行。
    3.    准备:给剧本里的角色分配好初始的表演道具(内存空间)。
    4.    解析:理解剧本里的符号,知道每个角色和动作代表什么。
    5.    初始化:让角色们(类的静态成员)准备好上台前的状态。
    6.    执行:执行引擎开始导演表演,它读取并执行剧本上的指令,演员们(对象)在舞台上按照指示行动。
    7.    内存管理:表演过程中,不断有新的道具(对象)生成,旧的不用的会被清理掉(垃圾回收),保证舞台整洁高效。
    8.    结束:当表演结束,所有资源被回收,舞台清空,等待下一场表演。

这样,Java程序就在JVM这个精心设计的舞台上,按照这个流程一步步地表演出来。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周盛欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值