爪哇 虚拟机(JVM)及其体系结构

在本文中,您将了解使Java更加流行的Java虚拟机。

我们都知道Java应用程序可以编写一次,并且可以在任何地方多次运行。只有JVM才有可能。因为Java被设计为在虚拟机上运行。虚拟机是软件。该JVM将在任何类型的硬件上运行。因此它可以在任何地方运行。

当我们编译Java程序时,将生成.class文件。 JVM将执行包含字节码的.class文件。 JVM负责在执行开始时首先调用main方法。


现在我们将了解 JVM架构.

JVM体系结构包括在计算机上运行程序所需的主要组件。

现在我们将详细了解每个部分

JVM架构

类加载器

类加载器子系统负责类的加载,链接和初始化。

载入中

此处,加载程序将搜索类并按顺序加载。

它将包含3个部分:

  1. Bootstrap类加载器: 它加载与Java平台相关的类以及rt.jar中存在的引导路径中的类。实际上,rt.jar包含所有编译的类。
  2. 扩展类加载器: 这里将加载使用Java扩展机制的类。这些类将作为.jar文件驻留在扩展目录中。
  3. 应用程序类加载器:  这些类由用户定义。这些类将通过使用类路径变量来找到。

加载后为.class文件创建对象,用于表示堆中的内存。程序员使用此对象来检索信息。

连结中

链接涉及验证,准备,解决。

  1. 验证 它将验证字节码的格式是否正确,这表示该类的二进制表示形式已遵循结构约束。如果不遵循,则必须抛出验证错误。此错误是LinkageError的子类。
  2. 制备 在此阶段,将完成静态字段的创建和初始化。这意味着为静态变量分配内存并对其进行初始化。在初始化时,将仅分配默认值。
  3. 解析度  在此过程中,符号引用将被其直接引用(具体值)动态替换。

初始化

在此阶段,将初始化类和接口。这将通过执行类或接口的初始化方法来完成。

运行时数据区(内存)

JVM在多个运行时数据区域中组织内存。为了执行程序,需要这些数据区域。一些内存将在所有线程之间共享。

 JVM方法专区

现在,我们将详细看到这些数据区域。

  1. 方法范围: 从逻辑上讲,这是一部分堆空间,其中将包含类框架。它按类结构存储运行时常量和静态变量,方法,构造函数,类名称以及类类型信息。它是共享资源。只有一个方法区域将驻留在JVM中。在 运行时常量池 字符串文字将被存储。这里的文字不’t与任何对象实例有关。运行时常量池与对象实例无关。
  2. 堆: 这里将存储有关对象的信息。如果我们在堆中创建对象,则会分配空间。如果对象死亡,则会收集内存垃圾。它是所有线程之间共享的公共空间。
  3. 堆叠面积: 它不是共享内存。每个线程将创建一个运行时堆栈。它保存局部变量,参数,中间结果和其他数据。它在方法调用和返回中起作用。 JVM将线程信息存储在离散的帧中。这些框架将通过推入和弹出操作存储在JVM堆栈中。在这里,堆栈内存不必是连续的,而是可以动态扩展的。如果内存不足以进行扩展,则会抛出内存不足错误。
  4. PC寄存器: 每当创建新线程时,它将获得pc注册。 PC寄存器将存储要执行的当前指令的地址。
  5. 本机方法堆栈: 本机方法堆栈将存储本机方法。这也不是共享资源。本机方法是java方法,但是实现将是另一种主要用c语言编写的语言。这些方法通常用于接口系统调用和库。

执行引擎

执行引擎将执行在运行时数据区域中显示的Java字节代码。每个字节代码指令包含操作码和操作数。在两个执行引擎的帮助下,将执行。 爪哇 字节码应更改为机器可理解的。应该由编译器或解释器完成。

口译员

它可以逐行解释字节码指令。它的解释速度比编译器快。但是重复的代码也应该重新解释。这只是解释器的缺点。

JIT编译器(及时)

它主要用于重复代码。由于这是解释器的缺点,因此可以弥补该编译器的不足。编译器比解释器花费更多的时间。但是这里的JIT编译器会提高性能。实际上,将首先解释每种方法。如果此方法的调用计数增加到超过JIT阈值,则该方法将由JIT编译器编译。 JIT编译器会将字节码转换为本地代码。之后,将仅执行本机代码。这意味着将在适当的时间调用JIT编译器并根据方法频率进行操作。

爪哇 本机接口

爪哇 通过JNI接口支持本机代码。本机方法对于系统调用以及与内存管理和性能问题有关的其他问题很有用。 JNI是将用于连接本机应用程序的框架。它将使Java应用程序能够调用并被本机应用程序调用。

本机方法库

这些本机方法库包含本机方法。我们将看到为什么需要使用本机库的一些用法。

我们的系统硬件可能具有某些特殊功能。要在我们的应用程序中使用那些特殊的品质,我们需要本机方法。某些本机方法可提供额外的速度。
对于内存管理,还将设计一些本机方法。通常,本机方法将使用c或c ++编写。
那’关于Java虚拟机(JVM)的全部内容。

相关文章

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。