Java虚拟机之内存模型

Java 虚拟机是什么?

虚拟机这个词对于Java的开发者应该都知道,但是对于初学者对它还是了解较少。Java 虚拟机是Java语言的核心技术,是Java程序的运行环境,为了解决程序跨平台而生。

Java是跨平台的语言,Java虚拟机可以称为跨语言的平台, 应该好理解吧。它是如何实现跨平台的呢?我们在安装jdk(Java 集成开发工具,其中内嵌Java运行环境)时可以看到有很多对应不同系统的版本,针对不同的系统开发不同的 jdk 是 Java 语言能够跨平台的重点,编译后的Java字节码运行在虚拟机上,虚拟机将字节码指令翻译成对应的机器指令运行程序,不同的系统底层架构不同,使用的指令集也不尽相同,与系统对应的 jdk 可以将字节码指令翻译成自己能够执行的指令,所以相同的字节码在不同的系统上使用不同版本的 Java 虚拟机都可以正常运行了。因此 Java 程序可以一次编译到处运行。

Hotspot 虚拟机的架构模型

Java 虚拟机(Java 使用的虚拟机是 Hotspot 虚拟机)的架构模型如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z4c5I05a-1638285985655)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211103110707322.png)]

其主要分为三个部分,简单介绍下每个部分主要负责的功能:

  • 类加载器子系统:负责将字节码文件加载到内存中,也就是虚拟机种的运行时数据区。
  • 运行时数据区: 程序运行时的所有数据存放的内存区域。
  • 字节码执行引擎: 将字节码执行翻译成机器指令最终在物理机上运行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值