按关键词阅读:

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片

文章图片
资深程序员深入剖析工业级编译器Javac的源码实现
全面讲解从Java源代码到生成Class文件的每个过程
Java是一门流行多年的高级编程语言 , 相关的就业岗位很多 , 但是最近几年却出现了用人单位招不到人 , 大量研发人员找不到工作的尴尬局面 。 究其根本原因还是岗位对技术的要求高 , 不但要会应用 , 更要懂其内部的运行原理 。 对于想要深入研究Java 的从业者来说 , 目前国内市场上还没有一本剖析Java 编译器(Javac)源码的书籍 , 也没有一本剖析工业级编译器源码的书籍 , 这正是本书要填补的市场空白 。
本书以工业级编译器Javac的源代码为基础 , 详细介绍了词法分析、语法分析、语义分析及代码生成等各个阶段的具体实现 , 同时对重点源代码的实现进行了详细解读 , 让读者能真正掌握从Java源代码变为Class文件的每个过程 。
本书学习路线
内文展示:
需要获取的小伙伴可以直接转发后私信(学习)即可获取!
第1章Javac介绍
第1章介绍了Javac的目录结构及源代码调试 , 同时对Javac支持的编译命令的实现进行了简单介绍 。
第2章Javac文件系统
第2章介绍了Javac操作文件(如读取.java文件、读取JAR包)相关的类 。
第3章词法分析
第3章介绍了Javac将读取到的Java源代码的字符流转换为Token流的过程 。
第4章语法分析之认识树节点
第4章介绍了抽象语法树的每个树节点 , 这些树节点可以大概划分为定义及声明、语句与表达式 。
第5章语法分析之建立抽象语法树
第5章介绍了如何建立抽象语法树即Javac根据Token流建立一个完整的抽象语法树 。
第6章符号表的组织
第6章介绍了符号表的结构 , 同时也对Javac中使用的符号及类型做了详细介绍 。
第7章填充符号表
第7章进行符号表的填充 , 分两个阶段对抽象语法树进行扫描 , 然后向符号表中填充相关的符号
第8章插入式注解的实现
第8章介绍了插入式注解的实现内容
第9章语义分析之类型转换
第9章介绍了Java的类转型 , 重点介绍了赋值转换 , 方法调用转换等等
第10章语义分析之语法检查
第10章介绍了语法检查 , 主要是针对类型定义 , 变量定义及方法定义的合法性进行检查
第11章语义分析之引用消解
第11章介绍了引用消解 , 主要是查找表达式中所引用的唯一符号 , Resolve类中提供了对类型引用、变量引用及方法引用的具体查找方法 。分页标题#e#
第12章语义分析之语法树标注
第12章对抽象语法树进行了类型与符号标注重点介绍了一些重要树节点如JCIdent和 JCFieldAccess 等的具体标注过程 。
第13章泛型的实现
第13章介绍了泛型的实现 。 泛型类型或泛型方法等与泛型相关的特性完全由编译器来支持 , 而在后续生成Class文件的过程中需要对泛型进行擦除 。
第14章数据流检查
第14章介绍了数据流分析 , 分别从变量赋值、语句活跃性及异常这3个方面对if判断语句、循环语句及 try语句等进行分析 。
第15章语法糖去除
第15章介绍了语法糖去除 , 分别对简单的语法糖、语句语法糖、枚举类语法糖与内部类语法糖进行分析 。
第16章字节码指令生成
第16章介绍了字节码指令的生成 , 通过简单模拟Java虚拟机运行时的情况来更好地生成字节码指令 。
第17章重要结构的字节码指令生成
第17章介绍了重要结构的字节码指令生成 , 对一些常见的控制结构 , 如if语句、循环语句、switch语句及try语句等指令的生成过程进行了详细介绍 。
第18章生成Class文件
第18章介绍了Class文件的生成根据Class文件规范生成可被Java虚拟机加载运行
下面是本书的目录内容 , 需要的小伙伴可以直接转发+关注后私信(学习)即可免费获取到这本书籍!

来源:(沛帆)
【】网址:/a/2021/0123/kd630995.html
标题:Java|大神级程序员修炼之道!阿里,京东大咖力荐的Java编译器笔记