JVM的组成部分及解释

JVM主要分为类加载器,运行时数据区,执行引擎,本地库接口。

流程是类加载器将代码转化为字节码,运行时数据区再将字节码加载到内存中,而系统底层并不能识别字节码,这是需要命令解析执行引擎把字节码转化为指令,cpu通过调用本地库接口执行这些指令。

运行时数据区又分为堆,方法区,虚拟机栈,本地方法栈,程序计数器。

堆:内存中最大的一块,负责存储实例对象,所有线程共享

方法区:用于存储类信息,常量,静态变量以及即时编译后的代码等

虚拟机栈:用于存储局部变量表、操作数栈、动态链接、方法出口等信息

本地方法栈:与虚拟机栈作用一样,区别是虚拟机栈是作用于java方法,本地方法栈作用于Native方法服务

程序计数器:当前线程的字节码的行号指示,字节码解释器通过改变这个计数,选取下一条需要执行的指令、分支、循环、异常等基础功能。

你可能感兴趣的:(jvm)