深入剖析JVM虚拟机的内部结构

开发 后端
JVM虚拟机是Java平台的核心, 为了让编译产生的字节码能够更好的解释和执行,JVM虚拟机主要分为6个部分,请看本文详细介绍。

这里向大家描述一下JVM虚拟机的内部结构,JVM主要分为6个部分,包括JVM解释器,寄存器,JVM栈,存储区和碎片回收区,相信本文介绍一定会让你有所收获。

JVM虚拟机的内部结构

JVM虚拟机是Java平台的核心, 为了让编译产生的字节码能够更好的解释和执行,JVM主要分为6个部分【这里只是带过,想要了解JVM整体执行原理的读者可以去参考《Inside JVM》】:
 
JVM解释器:即这个虚拟机处理字段码的 CPU。

JVM指令系统:该系统与计算机很相似,一条指 令由操作码和操作数两部分组成。操作码为8位二进制数,主要是为了说明一条指令的功能,操作数可以根据需要而定,JVM虚拟机有多达256种不同的操作指令。

寄存器:JVM有自己的虚拟寄存器,这样就可以 快速地与JVM的解释器进行数据交换。为了功能的需要,JVM虚拟机设置了4个常用的32位寄存器:pc(程序计数器)、 optop(操作数栈顶指针)、frame(当前执行环境指针)和vars(指向当前执行环境中***个局部变量的指针)。
 
JVM栈:指令执行时数据和信息存储的场所和控 制中心,它提供给JVM解释器运算所需要的信息。

存储区:JVM存储区用于存储编译过后的字节码 等信息。

碎片回收区:JVM碎片回收是指将使用过的 Java类的具体实例从内存进行回收,这就使得开发人员免去了自己编程控制内存的麻烦和危险。随着JVM的不断升级,其碎片回收的技术和算法也更加合理。 JVM 1.4.1版后产生了一种叫分代收集技术,简单来说就是利用对象在程序中生存的时间划分成代,以此为标准进行碎片回收。

JVM虚拟机内存结构

【编辑推荐】

  1. 设置TOMCAT的JVM虚拟机内存大小
  2. JVM、JRE、JDK的区别和联系
  3. 探索Java工作原理之JVM内存回收
  4. 实例解析Linux平台的JVM性能评测
  5. 深入JVM:ClassLoader相关知识简介

 

责任编辑:佚名 来源: java1995.cn
相关推荐

2010-04-12 15:17:40

dump Oracle

2011-12-25 15:33:13

ibmdwKVM

2011-12-28 13:24:47

JavaJVM

2011-11-30 14:12:05

JavaJVM虚拟机

2010-03-15 14:24:59

StackHeapJVM

2012-01-04 00:14:04

ibmdw

2011-06-22 13:35:55

JVM

2023-12-14 10:35:22

虚拟机程序

2010-09-17 15:12:57

JVMJava虚拟机

2021-07-30 07:22:51

JVM虚拟机栈 Stack

2010-09-25 16:12:45

JVM虚拟机

2010-09-25 15:13:40

JVMJava虚拟机

2020-05-08 16:55:48

Java虚拟机JVM

2011-03-17 09:58:43

Java虚拟机JVM

2013-10-28 09:22:14

IaaS部署虚拟机安全虚拟机管理

2013-10-28 09:32:47

基础设施即服务IaaS部署虚拟机安全

2020-05-12 23:20:50

Tomcat内部结构

2009-06-04 16:27:39

Java虚拟机JVMGC

2011-12-28 13:38:00

JavaJVM

2012-11-14 09:57:46

JavaJava虚拟机JVM
点赞
收藏

51CTO技术栈公众号