JVM基本知识——运行空间

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

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

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

方法区和堆是线程共享的

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

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

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

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

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

相关推荐
打工仔折腾 AI9 小时前
从 Demo 到生产级 Agent:8 个关键设计机制与 Python 实现拆解
java·jvm·人工智能·后端·python·langchain·ai agent 实战
用户0942485680314 小时前
第22章:JIT编译分层——Interpreter、C1、C2与热点探测
java·jvm
乌暮15 小时前
JVM 原理与实践:从运行时数据区到线上故障排查
java·开发语言·jvm·后端·学习·面试
长河1 天前
Java的GC(垃圾回收)中,标记无用对象的核心方法是可达性分析算法
java·jvm·算法
可乐ea1 天前
GitHub Security Lab 开源 Fuzzing Taskflow:让 LLM 智能体自己跑完 C/C++ 模糊测试
jvm·c++·github·模糊测试·mcp·代码agent·智能体自动化
一条破秋裤2 天前
Linux 线程同步:读写锁
java·linux·jvm
wuminyu2 天前
JEP491中synchronized关键字引发的平台线程钉住解决方法简介
java·linux·c语言·jvm·c++
一条破秋裤2 天前
Linux 线程同步:条件变量
java·linux·jvm
谢亮_vipxieliang2 天前
GC 入门:G1 与 ZGC 怎么选
java·jvm·算法
小溪学编程3 天前
从 C++ 的规范变迁看语言发展
jvm·c++·面试