实践:javap命令
- 理解Java ClassFile的内部结构
- 为使用bytecode相关的类库(ASM、Javassist)提供知识储备
本视频课程已申请版权保护,未经合法授权,任何单位和个人不得进行复制、转载、改编或其它侵权行为。
本课程的标题是Java 8 ClassFile,主要是对Java的字节码(ByteCode)进行讲解,所依据是Java 8这个版本。
为什么要学习字节码(ByteCode)?从总体上而言,Java的架构可以分为四个独立且相关的部分:Java Programming Language、Java Class File Format、Java API和Java Virtual Machine。其中,Java Class File Format就是对应字节码(ByteCode)的内容,它是对Java知识深入理解过程中的环节。
本课程的内容就是对字节码(ByteCode)进行详细的、分层次的讲解。目前,市面上大部分的涉及到字节码(ByteCode)内容的课程都是进行了简略的介绍,本课程则是针对Java ClassFile进行系统性的讲解,并对某些部分(方法调用、Lambda实现机制)进行深入探究。本课程内容设计的思路,整体上是遵循由简单到困难的学习顺序,分不同层次或视角来对Java ClassFile进行讲解,可以参考课程主体大纲部分。
本课程的特点是不依赖于第三方读取字节码的工具(jclasslib、Java Decompiler),而是准备了一份Java源代码来对.class文件进行分析,让同学们能够清楚的知道ClassFile结构每一个部分是如何解析的,以达到对知识内容切切实实的理解。
本课程的期待,希望同学们可以根据自己学习后的理解,写出一份属于自己的解析.class文件结构的类库。
本课程的主体大纲:
第1章,基础篇。主要是对一些简单的知识、概念进行介绍,为后续内容做准备;同时,下载项目源代码,对源代码功能进行介绍。
第2章,Byte Perspective,从整体上来讲解ClassFile的Structure。
第3章,Attribute Perspective,详细的介绍了ClassFile当中的23个具体的Attribute。
第4章,Opcode Perspective,对JVM支持的200多个opcode进行介绍。
第5章,Java Features Perspective,将Java发展过程中引入的feature来放到ClassFile的视角进行解读。
第6章,Code Examples,是总结性的内容,以总结代码(Code)示例为主。
第7章,The Last,也是属于总结性的内容,以总结“观念、观点”为主。
其中,第2章(Byte Perspective)、第3章(Attribute Perspective)和第4章(Opcode Perspective),是本课程的核心内容。学了这三章内容,相当于学完了本课程的主体内容。后续章节的内容,都是为了巩固大家对这三章内容的掌握程度。
公开笔记对他人可见,有机会被管理员评为“优质笔记”
{{ noteEditor.content.length }}/2000
讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。
课程大纲