JVM的结构组成

JVM构成

1、类加载子系统
2、方法区
3、Java堆
4、直接内容
5、Java栈
6、本地方法栈
7、垃圾收集系统
8、PC寄存器
9、执行引擎

类加载子系统

负责从文件系统,或者网络中加载Class信息
加载的信息存放在一块称为方法区的内存空间

方法区

存放类信息、常量信息、常量池信息、包括字符串字面量和数字常量等

Java堆

在Java虚拟机启动的时候,建立Java堆,是Java程序最主要的内存工作区域
几乎所有的对象实例,都存放在Java堆中
堆空间,是所有线程共享的

直接内存

Java的NIO库,运行Java程序使用直接内存,从而提高性能
通常直接内存速度,会优于Java堆
读写频繁的场合可以考虑使用

Java栈

每个虚拟机线程,都有一个私有的栈
一个线程的Java栈,在线程创建的时候,被创建
Java栈中保存着局部变量、方法参数、同时Java的方法调用、返回值等

本地方法栈

与Java栈相似
用于本地方法调用,Java虚拟机运行Java,直接调用本地方法,通常使用C编写

垃圾收集系统

Java的核心,Java有一套自己进行垃圾清理的机制
开发人员无效手工清理

PC寄存器

每个线程私有的空间
Java虚拟机会为每个线程,创建PC寄存器
在任意时刻,一个Java线程总是在执行一个方法,这个方法称为当前方法

如果,当前方法不是本地方法,PC寄存器就会执行当前正在被执行的指令
如果,是本地方法,则PC寄存器值为undefined,寄存器存放,当前执行环境指针、程序计数器、操作栈指针、计算的变量指针等信息

执行引擎

JVM核心组件
负责执行虚拟机的字节码
一个先进行编译,成机器码后执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值