课程主要内容
- 理解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
讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。
课程大纲
![Java ASM系列一:Core API](https://s2.51cto.com/images/avater/202106/e7bcf6749b64329bf1f301e14f49683e371853.jpg?x-oss-process=image)
![Java Agent基础篇](https://s2.51cto.com/images/202202/08/685ea958d4c92fb92a7bc6ebc964cab1.png?x-oss-process=image)
![Java 8 ClassFile](https://s2.51cto.com/images/202011/30/9f2861358f8137d0e65ad3b31cf337d1.jpg?x-oss-process=image)
![Java ASM系列二:OPCode](https://s2.51cto.com/images/avater/202108/682aa7930e0818d786f534be529390e4b1a1fc.jpg?x-oss-process=image)
![Java ASM系列三:Tree API](https://s2.51cto.com/images/avater/202110/98b435b53f7c12d84fa324563ffe99ed145808.jpg?x-oss-process=image)
![深入浅出之-JavaSE基础视频教程](https://s2.51cto.com/wyfs02/M01/24/9F/wKioL1NUhRKBKqhEAAJMRlAfLiQ763.jpg?x-oss-process=image)
![Spring4.0基础与提升视频教程(没有答疑服务)](https://s2.51cto.com/images/202012/30/c29c49a2cd3d19a1b694cba798c6eb49.jpg?x-oss-process=image)
![Struts2视频教程](https://s2.51cto.com/images/202012/30/5d9c0f4468ad0b6a704557684347798d.jpg?x-oss-process=image)