首页 > 其他 > 详细

类的加载过程,每个步骤干了什么

时间:2020-08-20 10:31:00      阅读:67      评论:0      收藏:0      [点我收藏+]

关于类加载,网上的答案五花八门,有些语言比较官方,晦涩难懂。现在我自我总结如下:

1 加载。把class文件读入虚拟机,转换成为运行时数据结构,也就是InstanceClass,InstanceClass是C++实现的JVM中表示一个java Class的,同时java class文件中的每个方法也会转换为C++的Method对象

记住,C++也是面向对象的,它也有类和对象的概念

2 验证。检查下class的格式,防止破坏JVM。这个网上的概念实在太多了。

3 准备,简单理解就是给static成员分配空间,已经赋值,注意是零值。比如int是0,long是0L。

4 解析。符号引用替换为直接引用。就是说我要执行一个方法,字节码一般都是这么个格式的invokevirtual #7。其中#7是常量表的第七个常量。但是这个常量只是一个字面量,实际代码要能够找到它要执行的方法的地址,解析就是干这个的

类的加载过程,每个步骤干了什么

原文:https://www.cnblogs.com/juniorMa/p/13533562.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!