Java编译过程:
Java的Class文件结构:
上图可描述为ClassFile结构体:
ClassFile {
u4 magic;
u2 minor_version;
u2 major_version;
u2 constant_pool_count;
cp_info constant_pool[constant_pool_count-1];
u2 access_flags;
u2 this_class;
u2 super_class;
u2 interfaces_count;
u2 interfaces[interfaces_count];
u2 fields_count;
field_info fields[fields_count];
u2 methods_count;
method_info methods[methods_count];
u2 attributes_count;
attribute_info attributes[attributes_count];
}
上面伪定义这个结构体是用来说明class文件的组成结构的。为便于记忆,我把class文件可以看做两种类型:
1、基本类型。如:u4,u2等。u2占2byte,u4占4byte。
2、复合类型。如: *_info。
了解class文件的结构有助于学习字节码操作框架,如asm,bcel,javassist等,而这些库又是很spring、hibernate等框架经常使用到的,阅读源码的时候将会有很大帮助。
分享到:
相关推荐
学习笔记——JVM性能调优之 jstat(csdn)————程序
一份JVM学习的笔记,含查看JVM运行时信息\JVM垃圾收集信息\JVM锁信息等
java之jvm学习笔记五(实践写自己的类装载器)
JVM学习笔记.docx
java之jvm学习笔记十一(访问控制器)-源码
java之jvm学习笔记九(策略文件)
jVM学习笔记.ppt
从JVM内存模型、常用JVM参数、垃圾回收算法和垃圾回收器等几个角度学习JVM
JVM学习笔记(缓慢更新).md
JVM 学习笔记(Java虚拟机)
jvm经典笔记
一.java内存结构 2 二 垃圾收集算法: 3 三 JVM参数 4 四 JVM的垃圾回收集器 7 五 常用参数设置 7
《实战Java虚拟机——JVM故障诊断与性能优化》内容...第9~~10章介绍了虚拟机的核心——Class文件结构,以及虚拟机中类的装载系统。第11章介绍了虚拟机的执行系统和字节码,并给出了通过ASM框架进行字节码注入的案例。
JVM学习笔记核心知识点整理,包含类文件加载机制,运行时数据,JVM内存模型,GC算法,垃圾收集器分类等
java之jvm学习笔记八(实践对jar包的代码签名)
主要介绍了深入理解JVM之Class类文件结构,结合实例形式详细分析了Class类文件结构相关概念、原理、结构、常用方法与属性,需要的朋友可以参考下
Java 语言是一种具有动态性的解释型编程语言,当指定程序运行的时候, Java 虚拟机就将编译生成的 .
jvm中篇笔记.md
包含了jvm的视频,jvm的笔记