互联网
类型
可以朗读
语音朗读
749千字
字数
2020-01-01
发行日期
展开全部
主编推荐语
献给Java无尽追求者,Java大神级程序员修炼之道。
内容简介
Java是一门流行多年的高级编程语言,相关的就业岗位很多,但是最近几年却出现了用人单位招不到人,大量研发人员找不到工作的尴尬局面。根本原因还是岗位对技术的要求高,不但要会应用,更要懂其内部的运行原理。
对于想要深入研究Java的从业者来说,目前国内市场上还没有一本剖析Java编译器(Javac)源码的书籍,也没有一本剖析工业级编译器源码的书籍,这正是本书要填补的市场空白。
本书围绕市面上的主流编译器Javac进行源代码剖析,详细介绍了词法分析、语法分析、语义分析及代码生成等各个阶段的具体实现。另外,本书有大量的配图和实例,以便读者能更好地理解书中的要点。
目录
- 版权信息
- 前言
- 第1章 Javac介绍
- 1.1 初识Javac
- 1.2 Javac源码与调试
- 1.3 Javac命令
- 第2章 Javac文件系统
- 2.1 文件相关实现类
- 2.2 文件的管理
- 第3章 词法分析
- 3.1 字符编码
- 3.2 获取字符输入流
- 3.3 Token与Name
- 3.4 生成Token流
- 第4章 语法分析之认识树节点
- 4.1 定义及声明
- 4.2 语句
- 4.3 表达式
- 4.4 生成树节点
- 第5章 语法分析之建立抽象语法树
- 5.1 定义及声明的抽象语法树
- 5.2 语句的抽象语法树
- 5.3 表达式的抽象语法树
- 5.4 遍历抽象语法树
- 第6章 符号表的组织
- 6.1 符号的定义
- 6.2 符号表的组织
- 6.3 类型的定义
- 第7章 填充符号表
- 7.1 依赖的处理
- 7.2 符号输入的第一阶段
- 7.3 符号输入第二阶段
- 第8章 插入式注解的实现
- 8.1 注解处理器基础
- 8.2 初始化注解处理器
- 8.3 运行注解处理器
- 第9章 语义分析之类型转换
- 9.1 类型转换的种类
- 9.2 赋值转换
- 9.3 方法调用转换
- 9.4 强制类型转换
- 9.5 数字提升
- 第10章 语义分析之语法检查
- 10.1 类型定义的检查
- 10.2 变量定义的检查
- 10.3 方法定义的检查
- 第11章 语义分析之引用消解
- 11.1 Resolve类介绍
- 11.2 类型引用的消解
- 11.3 变量引用的消解
- 11.4 方法引用的消解
- 第12章 语义分析之语法树标注
- 12.1 Attr类介绍
- 12.2 表达式相关树节点的标注
- 12.3 JCIdent树节点的标注
- 12.4 JCFieldAccess树节点的标注
- 第13章 泛型的实现
- 13.1 泛型类型
- 13.2 泛型方法
- 13.3 泛型擦除
- 第14章 数据流检查
- 14.1 Flow类介绍
- 14.2 if语句的分析
- 14.3 循环语句的分析
- 14.4 try语句与throw语句的分析
- 第15章 语法糖去除
- 15.1 简单语法糖
- 15.2 语句语法糖
- 15.3 枚举类语法糖
- 15.4 内部类语法糖
- 第16章 字节码指令生成
- 16.1 字节码指令集
- 16.2 生成字节码指令
- 16.3 Gen类介绍
- 16.4 可寻址实体Item
- 第17章 重要结构的字节码指令生成
- 17.1 控制转移指令与地址回填
- 17.2 语句的条件判断表达式
- 17.3 if语句
- 17.4 循环语句
- 17.5 switch语句
- 17.6 异常与finally语句
- 第18章 生成Class文件
- 18.1 Class文件的结构
- 18.2 魔数与版本
- 18.3 常量池
- 18.4 类定义的基本信息
- 18.5 字段集合
- 18.6 方法集合
- 18.7 类属性集合
- 18.8 描述符和签名
- 附录A Javac命令
- 附录B 文法
- 附录C 类型常见操作
- C.1 supertype()方法
- C.2 interfaces()方法
- C.3 asSuper()方法
- C.4 asOuterSuper()方法
- C.5 isSameType()方法
- C.6 L()与U()方法
- C.7 lowerBound()与upperBound()方法
- C.8 containsType()方法
- C.9 hasSameArgs()方法
- C.10 subst()方法
- C.11 memberType()方法
- C.12 erasure()与erasureRecursive()方法
- 附录D 符号常见操作
- D.1 isInheritedIn()方法
- D.2 hiddenIn()方法
- D.3 isMemberOf()方法
- D.4 overrides()方法
- D.5 implementation()方法
- 附录E 虚拟机字节码指令表
- E.1 加载与存储指令
- E.2 运算指令
- E.3 类型转换指令
- E.4 对象操作指令
- E.5 操作数栈管理指令
- E.6 控制转移指令
- E.7 方法调用和返回指令
- E.8 异常抛出指令
- E.9 同步指令
展开全部
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。