当前位置:网站首页 > 编程语言 > 正文

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等虚拟机产品。

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

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

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

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

Java加载类的过程

类加载过程

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

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

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

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

到此这篇jvm内存模型(Jvm内存模型)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 故障码P0515详解与维修方法2025-10-29 23:45:07
  • vs多个源文件怎么单独生成(visual studio多个源文件)2025-10-29 23:45:07
  • 圈一圈英语怎么读音标(圈一圈的英文怎么写)2025-10-29 23:45:07
  • 锁表格怎么锁(锁定表格怎么锁定)2025-10-29 23:45:07
  • visit怎么读(sometimes怎么读)2025-10-29 23:45:07
  • 如何设置samba共享(win10设置samba共享)2025-10-29 23:45:07
  • qt字符串转浮点数(qt将字符串转换为整型)2025-10-29 23:45:07
  • kubelet 日志(kubelet日志在哪里看)2025-10-29 23:45:07
  • 二级域名ip地址(二级域名ip地址怎么查)2025-10-29 23:45:07
  • 广度优先搜索(广度优先搜索树)2025-10-29 23:45:07
  • 全屏图片