JVM学习笔记-基础知识

前言:JVM是每一位从事Java开发工程师必须翻越的一座大山!

JVM(Java Virtual Machine)是JRE的一部分,从字面上的意思来讲就是一个虚拟的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM虚拟了一套完善的硬件架构(处理器、堆栈、寄存器等,相应的指令系统)。Java语言最重要的特点就是跨平台运行,其关键就是JVM实现了跨平台操作。

JVM是Java字节码执行的引擎,为Java程序的执行提供必要的支持,它还能优化java字节码,使之转换成效率更高的机器指令。JVM虚拟机就好比是一个舞台,我们编写的程序最终都要在这个舞台上亮相。JVM的实现为JRE的共享类库,需要遵循JRE规范(Sun采用的JVM叫做Hot Spot)。

(备注:目前比较流行的JVM有 Dalvik、Hot Spot)

JVM屏蔽了于具体操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上运行运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码,实际上是把字节码解释成具体平台上的机器指令来执行。

在Java中引入虚拟机的概念,即在机器和编译器之间加入了一层抽象的虚拟机器。这台虚拟的机器在任何平台上都提供给编译程序一个共同的接口。编译程序只需要 面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码执行。在Java中,这种虚拟机理解的代码叫做字节码(ByteCode),它不面向任何特定的处理器,只面向虚拟机。每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码。字节码由虚拟机解释执行,虚拟机将每一条需要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。

经过上面对JVM的描述,总结归纳Java代码在JVM中的执行流程图如下所示:


(JVM代码执行流程图)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值