JVM基本知识——运行空间

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

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

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

方法区和堆是线程共享的

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

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

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

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

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

相关推荐
周杰伦_Jay7 小时前
【Java虚拟机(JVM)全面解析】从原理到面试实战、JVM故障处理、类加载、内存区域、垃圾回收
java·jvm
星梦清河7 小时前
宋红康 JVM 笔记 Day18|class文件结构
jvm
晓风残月淡7 小时前
JVM字节码与类的加载(二):类加载器
jvm·python·php
用手手打人7 小时前
JVM(十)-- 类的加载器
jvm
ANYOLY10 小时前
JVM 面试宝典
jvm
hsjkdhs17 小时前
C++之多态
开发语言·jvm·c++
AresXue18 小时前
Java字节码与流量回放
jvm
AresXue19 小时前
Java字节码改写之asm进阶使用
jvm
AresXue19 小时前
聊聊为什么java会有这么多的字节码改写方式(jdk/cglib/asm/javasist)?
jvm
程序员卷卷狗1 天前
JVM实战:从内存模型到性能调优的全链路剖析
java·jvm·后端·性能优化·架构