JVM体系分为四部分:
-
类加载器:在JVM启动时或者类运行时将class加载到JVM中。
-
执行引擎:相当于实体机的CPU,负责执行JVM指令集。
-
内存模型
-
本地方法调用:调用C或者C++实现的本地方法代码返回结果。
Java 虚拟机简介
Java 虚拟机是整个Java 平台的基石,是Java 技术用以实现硬件无关与操作系统无关的关键部分,是Java 语言生成出极小体积的编译代码的运行平台,是保障用户机器免于恶意代码损害的保护屏障。Java 虚拟机可以看作是一台抽象的计算机。如同真实的计算机那样,它有自己的指令集以及各种运行时内存区域。
当我们说“Java虚拟机”的时候,可能指以下三种不同的东西:
(1) 抽象规范。
(2) 一个具体的虚拟机实现。
(3) 一个运行中的虚拟机实例。
Java虚拟机抽象规范仅仅是个概念,不同的厂商有着不同的具体实现。当运行一个Java程序的同时,也就在运行一个Java虚拟机实例。每个Java程序都运行于某个具体的Java虚拟机实现的实例上。
Java虚拟机负责装载class文件并执行。每个Java虚拟机都有一个类装载器子系统,它根据给定的全限定名来装载class文件(类或接口)。每个Java虚拟机都有一个执行引擎,它负责执行那些包含在被装载类的方法中的指令。
当Java虚拟机运行一个程序时,它需要内存来存储许多东西,如字节码,从已装载的class文件中得到的其他信息,程序创建的对象,传递给方法的参数,返回值,局部变量,以及运算的中间结果等等,Java虚拟机把这些东西都组织到内存空间中,便于管理。
注意: Java 虚拟机与Java 语言并没有必然的联系,它只与特定的二进制文件格式——Class 文件格式所关联,Class 文件中包含了Java 虚拟机指令集(或者称为字节码、Bytecodes)和符号表,还有一些其他辅助信息。
网友评论