假想图
2017-03-14 13:22:04 0 举报
这是一幅假想图,图中描绘了一个充满神秘色彩的异世界。在这个世界里,天空是深紫色的,星星闪烁着金色的光芒,仿佛是一颗颗镶嵌在夜空中的宝石。地面上长满了各种奇特的植物,有的形状像蝴蝶,有的像鹿角,颜色各异,五彩斑斓。在这个世界的中心,有一座巨大的城堡,它的墙壁是由闪闪发光的宝石堆砌而成,城堡的顶部是一只巨大的金色凤凰,它张开翅膀,仿佛随时都要展翅飞翔。城堡周围围绕着一片神秘的森林,森林里的动物都拥有神奇的能力,它们和人类和平共处,共同守护着这个世界。这幅假想图充满了无限的想象和可能,让人仿佛置身于一个梦幻般的世界。
作者其他创作
大纲/内容
常量集合
判断其类型
加载成功
tag
转化为java存储结构,即类元数据,存储在方法区中
StackMapTable
。。。。
C中静态量
找不到
指向
Class
请求类加载器根据全限定名加载之
不存在
老年代
附加信息
C中常量
基础类型值
字节码验证
新生代
类的全限定名
方法集合
文件格式验证
非虚方法的引用
常量的引用
名称
java文件
分配
检查是否存在对应的java.lang.Class对象
实例变量的引用
操作数栈
在局部变量表中新分配一个slot存放实例c的引用
什么都不做,等运行时再解析
返回验证结果
类元数据
CONSTANT_Utf8_info
字符串值
局部变量表
应用程序类加载器
分配一个Class对象作为类元数据的入口
编译
code
属性池
名称和类型描述符
S1区
this指针
不正确
方法区(永久代)
类描述符
请求
版本号(主/次)
元数据验证
父类索引
UTF-8编码字符串
虚拟机栈
根据Class对象在Eden区分配一个实例c,并将其类型指针指向方法区中的Class对象
C的类元数据
CONSTANT_InvokeDynamic_info
对象头
栈帧b
放大
class文件
类变量的引用
初始化
类实例c
获取
将CONSTANT_Fieldref_info替换为字面量
CONSTANT_(IFLD)_info
共享部分
属性表
句柄类型
CONSTANT_MethodType_info
S2区
length
正确
类的引用
虚方法的引用
魔数
CONSTANT_String_info
Eden区
符号引用验证
获取类的全限定名Lcom.C
常量池
扩展类加载器
ConstantValue
类型指针
CONSTANT_MethodHandle_info
static变量
将CONSTANT_Methodref_info中类描述符替换为VirtualMethodTable表中的行号,名称和类型描述符替换为偏移量
启动类加载器
。。。。。
c的引用
验证数据流河控制流的合法行
将CONSTANT_Fieldref_info替换为指向static量的引用
将CONSTANT_Class_info替换为指向Class对象的引用
描述符
在方法区中分配C的常量和静态量
如果是常量,那么获取该字段属性表中ConstantValue的值,并初始化
接口集合
堆
mark world
执行过程中遇到new指令
CONSTANT_InterfaceMethodref_info
D
字段集合
方法句柄
访问标志
遍历类中的各个符号引用
获取数据
将CONSTANT_Fieldref_info中类描述符替换为Class对象引用,名称和类型描述符替换为偏移量
存在
C
操作类的常量池
CONSTANT_NameAndType_info
CONSTANT_Methodref_info
实例数据c
java.lang.Class对象
CONSTANT_Class_info
引导方法索引
类索引
Exceptions
抛出异常
字节流
读取文件
栈帧a
0 条评论
下一页