浅析JVM原理与JVM架构

筱雪2021-12-28 15:15

  本篇文章属于“扫盲篇”,由于Java小白对JVM原理与JVM架构还不太熟悉,下面就跟随小编一起来了解一下相关内容吧!

  JVM是什么?

  JVM,中文名是Java虚拟机,正如它的名字,是一个虚拟机器,来模拟通用的物理机。 JVM是一个标准,一套规范,规定了.class文件在其内部运行的相关标准和规范。及其相关的内部构成。比如:所有的JVM都是基于栈结构的运行方式。那么不符合这种要求的,不算是JVM,如Android中所使用的Dalvik虚拟机就不能称作是JAVA虚拟机,因为它是基于寄存器。

  JVM的体系结构?

  1.类加载器子系统(Class Loader Subsystem)

  Java的动态类加载功能由类加载器子系统处理。它在运行时,而不是编译时首次引用类的时候加载、链接、并初始化类文件。

  2.运行时数据区(Runtime Data Area)

  方法区——所有的类级别数据将存储在这里,包括静态变量。每个JVM只有一个方法区,并且它是一个共享资源。

  堆区域——所有对象及其对应的实例变量和数组将存储在这里。每个JVM也有一个堆区域。由于方法和堆区域共享多个线程的内存,因此所存储的数据非线程安全。

  堆栈区——对于每个线程,将创建一个单独的运行时栈。对于每个方法调用,将在堆栈存储器中产生一个条目,称为堆栈帧。所有局部变量将在堆栈内存中创建。堆栈区域是线程安全的,因为它不是共享资源。

  PC寄存器——每个线程都有单独的PC寄存器,用于保存当前执行指令的地址,一旦指令执行,PC寄存器将更新到下一条指令。

  本地方法堆栈——本地方法堆栈保存本地方法信息。对于每个线程,将创建一个单独的本地方法堆栈。

  3.执行引擎(Execution Engine)

  分配给运行时数据区的字节码将由执行引擎执行。执行引擎读取字节码并逐个执行它。

  点击图片领取课程!

浅析JVM原理与JVM架构

  以上就是小编为大家整理发布的“浅析JVM原理与JVM架构”一文,更多相关内容尽在开课吧广场-Java频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享