jvm内存分配(2)

下面的内容全部来自网络,基本无原创。只是学习笔记而已。

2 JVM虚拟机的规格描述

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

2.1 JVM解释器:

即这个虚拟机处理字段码的 CPU

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

2.2 寄存器:

JVM有自己的虚拟寄存器,这样就可以 快速地与JVM的解释器进行数据交换。为了功能的需要,JVM虚拟机设置了4个常用的32位寄存器:pc(程序计数器)、 optop(操作数栈顶指针)、frame(当前执行环境指针)和vars(指向当前执行环境中第一个局部变量的指针)。

2.3 JVM栈:

指令执行时数据和信息存储的场所和控 制中心,它提供给JVM解释器运算所需要的信息。

2.4 存储区:

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

2.5 碎片回收区:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值