JVM类加载2-验证

笔者博客地址:https://charpty.com

“验证”是“连接”的步骤之一,在“类加载”第一步“加载”完成后,虚拟机并不一定立即开始对类信息进行“连接”,这取决于虚拟机的模式和当前状态。可能会在主方法执行时一次性完成所有类的连接,称为早连接,或者在类的符号引用首次被访问时才去执行连接,称为晚连接,我们先不关心何时进行类的“连接”操作,仅来关注“连接”的过程,“连接”的过程大致如下:
这里写图片描述

“验证”是“连接”阶段的第一步,这一阶段是为了确保Class文件字节流中包含的信息符合当前虚拟机的要求,并且不会危害虚拟机自身的安全
虽然按理说这些*.class文件都是由Java自己的编译器生成的,但是JVM仅仅负责加载class文件,不排除有人恶意生成class文件或者Java的编译器生成时有错误(可能性很小),所以“验证”阶段非常重要,防止恶意的破坏以及不符合Java规范的语法。

// TODO

参考:https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.10

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值