JVM基本知识——运行空间

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

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

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

方法区和堆是线程共享的

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

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

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

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

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

相关推荐
不穿格子的程序员几秒前
JVM篇2:根可达性算法-垃圾回收算法和三色标记算法-CMS和G1
java·jvm·g1·根可达性算法·三色标记算法
LiRuiJie39 分钟前
从OS层面深入剖析JVM如何实现多线程与同步互斥
java·jvm·os·底层
不穿格子的程序员1 小时前
JVM篇1:java的内存结构 + 对象分配理解
java·jvm·虚拟机·内存结构·对象分配
萧曵 丶1 小时前
JVM Class中常量池 17 种 cp_info 表类型 浅谈
jvm·常量池
一颗青果2 小时前
c++的异常机制
java·jvm·c++
萧曵 丶2 小时前
JVM 虚拟机类加载机制浅谈
jvm
chilavert3182 小时前
技术演进中的开发沉思-320 JVM:性能优化
jvm·性能优化
我是一只小青蛙88813 小时前
AVL树:平衡二叉搜索树原理与C++实战
java·jvm·面试
阿崽meitoufa14 小时前
JVM虚拟机:垃圾收集器和判断对象是否存活的算法
java·jvm·算法
杏花春雨江南20 小时前
JavaWeb企业级项目实战:从SSH到SSM演进 + MQ/Redis/ES高可用架构落地全复盘(实战干货+避坑指南)
java·jvm·spring