自己的理解JVM

以下所有的理解均是自己的理解,很可能不太准确,只是为了给自己学习虚拟机做个概念化的总结。

首先看下维基百科对JVM的解释:

Java虚拟机英语Java Virtual Machine,缩写为JVM),一种能够运行Java bytecode虚拟机,以堆栈结构机器来进行实做。最早由太阳微系统所研发并实现第一个实现版本,是Java平台的一部分,能够运行以Java语言写作的软件程序Java虚拟机有自己完善的硬体架构,如处理器堆栈寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。通过对中央处理器(CPU)所执行的软件实作,实现能执行编译过的Java程序码(Applet与应用程序)。


我们就用类比的手法解释下JVM:

JVM 试运行在操作系统中,即JVM在操作系统的层面是个进程,进程又包含了若干线程。

操作系统是地球(承载生物的场所),JVM为地球上的单个生物人(进程),而人内部的部件有嘴巴,胃,排泄系统等部件组成可是?(线程)。

在JVM运行java程序时,我们需要JVM中的以下几个子系统,类加载器子系统, 执行引擎子系统和垃圾收集子系统(类似上文提到的嘴巴,胃,排泄系统)。

当我们JVM运行某一个编程语言时,类似人类嘴巴吃了某种食物class文件类加载器子系统),食物被吃下去肯定要放在胃里消化吧(执行引擎子系统),等到消化完了需要排泄出体外(垃圾收集子系统)。

总之,JVM也是个程序,主要是由C编写而成,具体JVM可能实现的方法不同,但他们都遵循了Oracle(收购了SUN)公司提出的JVM规范。为编程语言能在不同的平台(操作系统)执行提供了转化的功能,把具体编程语言变成能在不同平台上运行而已!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值