猿教程 Logo

JVM (Java Virtual Machine)

JVM(Java虚拟机)是一个抽象机。 它是一个提供可以执行Java字节码的运行时环境的规范。

JVM可用于许多硬件和软件平台(即,JVM是平台相关的)。

什么是JVM

它是:

  1. 指定Java虚拟机的工作的规范。 但实现提供程序是独立的选择算法。 其实施由Sun和其他公司提供。

  2. 实现它的实现被称为JRE(Java运行时环境)。

  3. 运行时实例只要在命令提示符上编写java命令来运行java类,就会创建JVM的实例。

它能做什么

JVM执行以下操作:

  • 加载代码

  • 校验代码

  • 执行代码

  • 提供运行时环境

JVM提供了以下定义:

  • 内存区

  • 类文件格式

  • 寄存器集

  • 垃圾收集堆

  • 致命错误报告等

JVM的内部体系结构

让我们来了解JVM的内部架构。 它包含类加载器,内存区域,执行引擎等。


1)类加载器

Classloader是JVM的一个子系统,用于加载类文件。

2)类(方法)区域

类(方法)区域存储每个类结构,例如运行时常量池,字段和方法数据,方法的代码。

3)堆

它是分配对象的运行时数据区。

4)堆栈

Java堆栈存储帧。它保存局部变量和部分结果,并在方法调用和返回中起作用。
每个线程都有一个私有JVM堆栈,同时创建线程。
每次调用方法时都会创建一个新的框架。 框架在其方法调用完成时被销毁。

5)程序计数器寄存器

PC(程序计数器)寄存器。 它包含当前正在执行的Java虚拟机指令的地址。

6)本地方法堆栈

它包含应用程序中使用的所有本机方法。

7)执行引擎

它包含:
1)虚拟处理器
2)解释器:读字节码流然后执行指令。
3)即时(JIT)编译器:它用于提高性能.JIT编译同时具有类似功能的字节代码的部分,从而减少编译所需的时间。 ?编译器? 是指从Java虚拟机(JVM)的指令集到特定CPU的指令集的转换器。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Java/internal-details-of-jvm.html