JVM基础_1

在这里插入图片描述

虚拟机

虚拟机分为系统虚拟机和程序虚拟机。

  • 程序虚拟机是完全对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台
  • 程序虚拟机的代表就是Java虚拟机,专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令我们称之为Java字节码指令。

无论是哪一种虚拟机,在其上面运行的软件都限制于虚拟机提供的资源。

JVM作用

JVM就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执行。每一条Java指令,JVM规范中都有详细定义,如怎样取操作数,怎样处理操作数,处理结果放在那里。
JVM不仅可以运行Java的字节码文件,只要是符合其规范的其他语言编译而成的字节码文件,同样可以在JVM上运行。
在这里插入图片描述

整体结构

在这里插入图片描述
JVM采用解释与编译并存的架构。首先将Java文件编译成字节码文件,然后对于字节码文件中的大部分代码,利用解释器解释执行;而对于文件中的热点代码,采用JIT编译器对其进行运行时编译,并将得到的机器码保存,下次可直接使用,从而提高效率。

Java代码执行流程

在这里插入图片描述

JVM生命周期

启动

JVM的启动是通过引导类加载器bootstrap class loader创建一个初始类来完成的,这个类是由JVM的具体实现指定的。

执行

程序开始执行JVM就开始运行,程序结束就停止。
执行一个Java程序的时候,实际上是在执行一个JVM进程。

退出

有如下几种情况

  1. 程序正常执行结束
  2. 程序遇到异常或者错误
  3. 操作系统出现错误,JVM进程终止
  4. 某些线程调用Runtime类或者System的exit方法,或者Runtime类的halt方法,并且Java安全管理器也运行这次exit或者halt操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值