JVM基本知识——运行空间

JVM(**Java Virtual Machine)**即Java虚拟机,是负责读取java字节码,并在实际的硬件环境中运行。

JVM可以分为三部分:类装载器(ClassLoader)子系统、内存空间、执行引擎

内存空间(运行时数据区)

方法区和堆是线程共享的

本地方法栈:保存执行方法信息,执行java方法是使用栈,native方法使用本地方法栈

方法区:存储被虚拟机加载的类信息、常量、静态变量。1.7的永久代和1.8的元空间都是方法区的实现

虚拟机栈:存储局部变量表,线程私有,线程每执行一个方法就会在栈中创建一个栈阵,调用方法执行入栈、方法返回执行出栈

堆:堆是内存最大的一部分,存储着所有对象的实例,为对象分配内存。是垃圾回收的主要区域。堆在物理存储上是不连续的,但是在逻辑上是连续的

程序计数器:记录方法执行的jvm指令地址(native方法则为空,因为用c,不需要编译),

相关推荐
这周也會开心6 小时前
Map集合的比较
java·开发语言·jvm
Jerry404_NotFound9 小时前
工厂方法模式
java·开发语言·jvm·工厂方法模式
oioihoii10 小时前
C++虚函数表与多重继承内存布局深度剖析
java·jvm·c++
wangchen_011 小时前
深入理解 C/C++ 强制类型转换:从“暴力”到“优雅”
java·开发语言·jvm
banpu14 小时前
JVM相关
jvm
鸽鸽程序猿1 天前
【JavaSE】简单理解JVM
java·jvm
小毛驴8501 天前
JDK主流版本及推荐版本
jvm
没有bug.的程序员2 天前
微服务网关:从“必选项”到“思考题”的深度剖析
java·开发语言·网络·jvm·微服务·云原生·架构
tgethe2 天前
==和equals的区别
java·开发语言·jvm