JVM基本知识——运行空间

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

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

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

方法区和堆是线程共享的

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

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

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

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

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

相关推荐
guangzhi06333 分钟前
JAVA执行引擎详细介绍
java·jvm
七禾页话2 小时前
Java并发常见面试题(上)
java·jvm
guangzhi06336 小时前
JVM运行区域介绍
java·jvm
guangzhi06339 小时前
JVM垃圾回收器
jvm
guangzhi06339 小时前
JVM本地方法栈
java·jvm·面试
健康平安的活着9 小时前
JVM 调优篇7 调优案例4- 线程溢出
jvm
懵懵懂懂程序员9 小时前
JVM堆外泄露分析&解决
jvm
✞༒小郑同学༒✞17 小时前
简单了解 JVM
jvm
Flying_Fish_roe17 小时前
JVM 性能优化与调优-ZGC(Z Garbage Collector)
jvm·性能优化
一般路过糸.1 天前
【JVM】判断对象能否回收的两种方法:引用计数算法,可达性分析算法
java·jvm·算法