专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Java虚拟机是什么的简单介绍

Java虚拟机是什么的简单介绍

更新时间:2021-04-28 12:09:52 来源:动力节点 浏览1044次

Java虚拟机的简单介绍,让大家了解JVM可以做什么,JVM的作用。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

Java虚拟机是什么的简单介绍

1.什么是JVM?

Java虚拟机(JVM)是运行Java字节码的虚拟机,它是java编程语言的核心。当我们运行程序时,JVM负责将字节代码转换为特定于机器的代码。JVM还依赖于平台,并提供核心Java函数,如内存管理,垃圾收集,安全性等。

JVM被称为虚拟,因为它提供的接口不依赖于底层操作系统和机器硬件。这种与硬件和操作系统的独立性使得java程序可以在任何地方进行一次写入。

在现实世界中,JVM是一种规范,它提供了一个可以执行Java字节码的运行时环境。

2.JVM可以做什么?

(1)JVM执行以下操作:

1)加载代码

2)验证代码

3)执行代码

4)提供运行时环境

(2)JVM提供以下定义:

1)记忆区

2)类文件格式

3)注册集

4)垃圾收集堆

5)致命错误报告等

3.JVM架构

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

(1)类加载器

Classloader是JVM的子系统,用于加载类文件。每当我们运行java程序时,它首先由类加载器加载。Java中有三个内置的类加载器。

1)Bootstrap ClassLoader:这是第一个类扩展,它是Extension类加载器的超类。它加载rt.jar文件,该文件包含Java Standard Edition的所有类文件,如java.lang包类,java.net包类,java.util包类,java.io包类,java.sql包类等。

2)Extension ClassLoader:这是Bootstrap的子类加载器和System类加载器的父类加载器。它遍历位于$ JAVA_HOME / jre / lib / ext目录中的jar文件。

3)System / Application ClassLoader:这是Extension类加载器的子类加载器。它从类路径加载类文件。默认情况下,classpath设置为当前目录。您可以使用“-cp”或“-classpath”开关更改类路径。它也被称为Application类加载器。

(2)类(方法)区域

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

(3)堆

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

(4)堆叠

Java 堆叠存储帧。Stack包含局部变量和部分结果,并在方法调用和返回中起作用。

每个线程都有一个私有JVM堆栈,与线程同时创建。

每次调用方法时都会创建一个新帧。当方法调用完成时,框架将被销毁。

(5)程序计数器寄存器(Program Counter Register)

PC(Program Counter)寄存器包含当前正在执行的Java虚拟机指令的地址。

(6)原生方法堆栈(Native Method Stack)

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

(7)执行引擎(Execution Engine)

它包含:

1)虚拟处理器

2)解释器:读取字节码流然后执行指令。

3)实时(JIT)编译器:用于提高性能。JIT同时编译具有类似功能的部分字节代码,因此减少了编译所需的时间。这里,术语“编译器”指的是从Java虚拟机(JVM)的指令集到特定CPU的指令集的转换器。

(8)Java本地接口(Java Native Interface)

Java Native Interface(JNI)是一个框架,它提供了一个接口,用于与另一种语言(如C,C ++,Assembly等)编写的另一个应用程序进行通信.Java使用JNI框架将输出发送到控制台或与OS库交互。

以上就是动力节点小编介绍的“Java虚拟机是什么的简单介绍”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为您服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>