jvm内存模型(Jvm内存模型)

jvm内存模型(Jvm内存模型)目录 1 JVM 是什么 2 JDK JRE JVM 的关系 3 JVM 的组成 4 类加载器 5 运行时数据区 重点 1 程序计数器 线程私有 2 虚拟机栈 线程私有 3 本地方法栈 线程私有 4 方法区 线程公有 5 堆 线程公有 6 总结 博主画图不易 转载请标明来源 JVM Java Virtual Macheine Java 虚拟机 实际上 JVM 是一种用于计算设备的规范 真正使用的是根据这个规范的 hotspot VM 等虚拟机产品



目录

1,JVM是什么?

2,JDK,JRE,JVM的关系?

3,JVM的组成

4,类加载器

5,运行时数据区(重点)

(1),程序计数器(线程私有)

(2),虚拟机栈(线程私有)

(3),本地方法栈(线程私有)

(4),方法区(线程公有)

(5),堆(线程公有)

6,总结


//博主画图不易,转载请标明来源。

JVM》》Java Virtual Macheine 》》Java虚拟机。

实际上JVM是一种用于计算设备的规范,真正使用的是根据这个规范的hotspot VM等虚拟机产品。

这里我们看一下Java执行的过程

JVM从软件层屏蔽了底层硬件指令层的细节,使得开发人员不需要去关注运行环境不同而所提供的底层指令。

简单来说是包含关系,JDK包含了JRE,JRE又包含了JVM,这里我们看一张官方给的图

在JDK中包含编译器等可执行的工具以及JRE中的基本类库接口等等,JRE的底层就是JVM。

Java加载类的过程

类加载过程

加载:主要工作是将类的二进制字节流到JVM内部,并存储在运行时内存区的方法区,然后将其转换为一个与目标类型对应的java.lang.Class对象实例(jdk1.8方法区改为Metaspace实现),这个Class对象在日后就会作为方法区中该类的各种数据的访问入口。

验证:负责对字节流进行验证,是否符合jvm的规范要求,是否有影响jvm的运行稳定性。验证内容涵盖了类数据信息的格式验证、语义分析、操作验证等

格式验证:验证是否符合class文件规范

语义验证:检查一个被标记为final的类型是否包含子类;检查一个类中的final方法视频被子类进行重写;确保父类和子类之间没有不兼容的一些方法声明(比如方法签名相同,但方法的返回值不同ÿ

编程小号
上一篇 2025-04-01 12:27
下一篇 2025-03-07 22:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/69623.html