![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
Darin.cao
up
展开
-
JVM-学习笔记总结-类的验证
【深入理解java虚拟机】学习随记【验证】 是连接的第一个阶段,这一阶段的目的是确保Class文件的字节流中包含的信息符合《JAVA虚拟机规范》的全部约束要求,确保虚拟机的安全性。验证主要分以下三个阶段文件格式验证 验证字节流是否符合class文件格式的规范,并且被当前版本虚拟机处理,验证点如下:1. 是否以魔数0xACFEBABE开头;2 主次版本号是都在当前虚拟机接受范围之内; 3 常量池中的常量是否又不被支持的常量类型(检查常量tag标志);3 指向常量的各...原创 2021-11-27 21:16:53 · 220 阅读 · 0 评论 -
JVM-学习笔记总结:类加载的时机
一个类从被加载到虚拟机中,到生命周期结束被卸载出内存开始,它的整个生命周期将会经历如下图的七个阶段。其中,加载、验证、准备、初始化、卸载这五个阶段的执行开始时机的先后顺序是确定的(注意,是开始执行,不是进行顺序和完成顺序,彼此执行是相互交叉混合及逆行的,会在一个阶段的执行中激活另外一个阶段的执行)。而解析阶段时机不确定(因为在某些情况下可以在初始化之后再开始,这是为了支持java语言的运行时绑定的热特性,也被称为动态绑定或晚期绑定)。其中,对于第一个阶段加载,没有进行强制性约束,整个交给虚.原创 2021-11-25 19:58:19 · 594 阅读 · 0 评论 -
JVM-学习笔记总结:变量槽slot的理解
1. 关于slot的理解局部变量表中,最基本的存储单元为slot(变量槽)。 参数值的存放总在局部变量数组的index 0 开始,到数组长度-1的索引结束。 局部变量表中存放编译器可知的各种基本数据类型(8种),引用类型(reference),returnAddress类型的变量 在局部变量表中 32位以内的类型只占用一个slot(包括上面提到的returnAddress类型),64位的类型占用两个. byte short char在存储前被转化为int , boolean在存储前 也被转...原创 2021-11-24 20:44:23 · 905 阅读 · 0 评论