Java面试篇基础部分-JVM详细介绍

JVM的运行机制

  JVM(Java Virtual Machine)是用于运行Java字节码的虚拟计算机,其中包括一套字节码的指令集、程序寄存器、虚拟机栈、虚拟机堆、本地方法区、垃圾回收器。JVM运行在操作系统上层,它不跟底层硬件直接进行交互。如下图所示
在这里插入图片描述
  Java源代码通过了编译器编译成响应的.Class文件。.Class文件在JVM中被解释为机器码,在不同的操作系统上运行。而它的跨平台特性也是从这里体现出来的。由于在不同平台上虚拟机不同,但是运行在JVM中的.Class文件是统一的解释器规则。也有了跨平台的特性。

  在运行一个Java进程之后,虚拟机就开始实例化,有多少个Java的进程就有多少个虚拟机实例被创建。而进程退出或者是关闭了,虚拟机实例也就会消失。在多个虚拟机之间是不能进行数据的共享操作,这也就是分布式锁产生的原因。

  Java程序代码运行机制如下

  • 1、Java源代码文件被编译器编译成字节码文件
  • 2、JVM将字节码文件编译成对应操作系统的机器码
  • 3、机器码通过调用相应的操作系统的本地方法库进行执行对应的内容。

 &emps;JVM包括了一个类加载子系统(Class Loader SubSystem)、运行时数据区(Runtime Data Area)、执行引擎和本地接口库(Native Interface Library)。本地接口库通过调用本地方法库(Native Method Library)与操作系统进行交互。如下图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nihui123

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

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

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

打赏作者

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

抵扣说明:

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

余额充值