目录:
java虚拟机汇总
- class文件结构分析
1).class文件常量池中的常量项结构<<== 现在位置
2). 常用的属性表的集合 - 类加载过程
1).类加载器的原理以及实现 - 虚拟机结构分析
1).jdk1.7和1.8版本的方法区构造变化
2).常量池简单区分 - 对象结构分析
1).压缩指针详解 - gc垃圾回收
- 对象的定位方式
所有的字段类型就是这些了,下面写出每个类型的结构
tag值:7
CONSTANT_Class_info
CONSTANT_Class_info {
u1 tag;//7
u2 name_index;
}
tag值:9
CONSTANT_Fieldref_info
CONSTANT_Fieldref_info {
u1 tag; //9
u2 class_index;
u2 name_and_type_index;
}
tag值:10
CONSTANT_Methodref_info
CONSTANT_Methodref_info {
u1 tag; //10
u2 class_index;
u2 name_and_type_index;
}
tag值:11
CONSTANT_InterfaceMethodref_info
功能: 表示接口方法符号引用
格式:
CONSTANT_InterfaceMethodref_info {
u1 tag; //11
u2 class_index;
u2 name_and_type_index;
}
tag值:8
CONSTANT_String_info
CONSTANT_String_info {
u1 tag; //8
u2 string_index;
}
tag值:3,4
CONSTANT_Integer_info、CONSTANT_Float_info
CONSTANT_Integer_info {
u1 tag; //3
u4 bytes;
}
CONSTANT_Float_info {
u1 tag; //4
u4 bytes;
}
tag值:5,6
CONSTANT_Long_info 、CONSTANT_Double_info
CONSTANT_Long_info {
u1 tag; //5
u4 high_bytes;
u4 low_bytes;
}
CONSTANT_Double_info {
u1 tag; //6
u4 high_bytes;
u4 low_bytes;
}
tag值:12
CONSTANT_NameAndType_info
CONSTANT_NameAndType_info {
u1 tag; //12
u2 name_index;
u2 descriptor_index;
}
tag值:1
CONSTANT_Utf8_info
CONSTANT_Utf8_info {
u1 tag; //1
u2 length;
u1 bytes[length];
}
tag值:15
CONSTANT_MethodHandle_info
CONSTANT_MethodHandle_info {
u1 tag; //15
u1 reference_kind;
u2 reference_index;
}
tag值:16
CONSTANT_MethodType_info
CONSTANT_MethodType_info {
u1 tag; //16
u2 descriptor_index;
}
tag值:18
CONSTANT_InvokeDynamic_info
CONSTANT_InvokeDynamic_info {
u1 tag; //18
u2 bootstrap_method_attr_index;
u2 name_and_type_index;
}