《深入解析JAVA编译器 源码剖析与实例详解》求取 ⇩

第1章Javac介绍1

1.1 初识Javac1

1.2 Javac源码与调试4

1.3 Javac命令7

第2章Javac文件系统12

2.1 文件相关实现类12

2.2文件的管理25

2.2.1 获取JavacFileManager对象25

2.2.2 StandardLocation类28

2.2.3 JavacFileManager类31

第3章词法分析38

3.1 字符编码38

3.2 获取字符输入流40

3.3Token与Name43

3.3.1 Token介绍44

3.3.2 Name对象的生成与存储47

3.3.3 Name映射为Token51

3.4 生成Token流52

第4章语法分析之认识树节点67

4.1定义及声明68

4.1.1 JCCompilationUnit类68

4.1.2 JCImport类69

4.1.3 JCClassDecl类70

4.1.4 JCModifiers类71

4.1.5 JCTypeParameter类72

4.1.6 JCVariableDecl类72

4.1.7 JCMetbodDecl类74

4.2语句75

4.2.1 JCBlock类75

4.2.2 JCIf类76

4.2.3 JCWhileLoop、JCDoWhileLoop、JCForLoop与JCEnhancedForLoop类78

4.2.4 JCSwitch与JCCase类79

4.2.5 JCTry、JCCatch与JCThrow类81

4.2.6 JCLabeledStatement、JCRetum、JCContinue与JCBreak类82

4.2.7 JCSynchronized类83

4.2.8 JCAssert类83

4.3表达式83

4.3.1 基本表达式84

4.3.2 含运算符的表达式88

4.3.3 类型相关表达式94

4.3.4 注解表达式97

4.4 生成树节点98

第5章语法分析之建立抽象语法树101

5.1 定义及声明的抽象语法树101

5.2 语句的抽象语法树112

5.3表达式的抽象语法树121

5.3.1 基本表达式122

5.3.2 含有运算符的表达式134

5.4 遍历抽象语法树140

第6章符号表的组织143

6.1符号的定义143

6.1.1 Symbol类144

6.1.2 TypeSymbol及其子类150

6.1.3 VarSymbol类154

6.1.4 MethodSymbol及OperatorSymbol类154

6.2符号表的组织160

6.2.1 Env类介绍160

6.2.2 AttrContext类介绍162

6.2.3 Scope类介绍163

6.2.4 符号表的建立164

6.3类型的定义169

6.3.1 普通类型的定义169

6.3.2 泛型相关类型的定义175

第7章填充符号表180

7.1依赖的处理180

7.1.1 创建包或类符号180

7.1.2 输入包或类下的成员符号184

7.2符号输入的第一阶段189

7.2.1 Enter类190

7.2.2 visitTopLevel()方法192

7.2.3 visitClassDef()方法193

7.2.4 visitTypeParameter()方法196

7.3符号输入第二阶段197

7.3.1 MemberEnter类197

7.3.2 visitImport()方法200

7.3.3 visitMethodDef()方法207

7.3.4 visitVarDef()方法209

第8章插入式注解的实现211

8.1注解处理器基础211

8.1.1 编写注解处理器211

8.1.2 注解配置215

8.1.3 工具类215

8.2 初始化注解处理器222

8.3 运行注解处理器226

第9章语义分析之类型转换233

9.1 类型转换的种类233

9.2 赋值转换245

9.3 方法调用转换253

9.4 强制类型转换254

9.5 数字提升266

第10章语义分析之语法检查269

10.1类型定义的检查269

10.1.1 父类及实现接口的检查269

10.1.2 类型定义的唯一性检查273

10.1.3 类型中方法的兼容性检查276

10.1.4 类型中实现方法的检查287

10.2 变量定义的检查294

10.3方法定义的检查296

10.3.1 方法的唯一性检查296

10.3.2 方法的隐藏298

10.3.3 方法的覆写303

第11章语义分析之引用消解307

11.1 Resolve类介绍307

11.2 类型引用的消解310

11.3 变量引用的消解320

11.4 方法引用的消解323

第12章语义分析之语法树标注345

12.1 Attr类介绍346

12.2表达式相关树节点的标注348

12.2.1 JCUnary树节点标注348

12.2.2 JCBinary树节点的标注350

12.2.3 JCAssignOp树节点的标注351

12.3 JCIdent树节点的标注351

12.4 JCFieldAccess树节点的标注354

第13章泛型的实现361

13.1 泛型类型361

13.2泛型方法364

13.2.1 类型推断365

13.2.2 钻石语法383

13.3 泛型擦除386

第14章数据流检查396

14.1Flow类介绍396

14.1.1 语句的活跃性分析396

14.1.2 变量赋值检查398

14.1.3 异常检查405

14.2if语句的分析405

14.2.1 if语句405

14.2.2 一元表达式与if语句409

14.2.3 二元表达式与if语句410

14.2.4 三元表达式与if语句412

14.3循环语句的分析413

14.3.1 for语句413

14.3.2 中断循环语句416

14.4try语句与throw语句的分析419

14.4.1 抛出异常419

14.4.2 异常检查424

14.4.3 变量赋值状态及语句的活跃性430

第15章语法糖去除435

15.1简单语法糖436

15.1.1 变长参数436

15.1.2 条件编译437

15.1.3 自动装箱与拆箱438

15.2语句语法糖440

15.2.1 foreach语句440

15.2.2 switch语句442

15.2.3 try-with-resources语句447

15.3 枚举类语法糖452

15.4内部类语法糖453

15.4.1 调用私有构造方法454

15.4.2 引用成员457

15.4.3 super关键字引用父类成员470

15.4.4 访问自由变量472

第16章字节码指令生成486

16.1 字节码指令集486

16.2生成字节码指令492

16.2.1 实现本地变量表492

16.2.2 实现操作数栈495

16.2.3 常量池信息的存储497

16.2.4 Code类介绍499

16.3 Gen类介绍502

16.4可寻址实体Item506

16.4.1 LocalItem类508

16.4.2 ImmediateItem类512

16.4.3 StackItem类514

16.4.4 AssignItem类515

16.4.5 StaticItem类517

16.4.6 MemberItem类520

16.4.7 SelfItem类523

16.4.8 IndexedItem类524

第17章重要结构的字节码指令生成527

17.1控制转移指令与地址回填527

17.1.1 认识控制转移指令527

17.1.2 地址回填529

17.2语句的条件判断表达式530

17.2.1 CondItem类530

17.2.2 一元与二元条件判断表达式533

17.2.3 三元条件判断表达式534

17.3 if语句536

17.4 循环语句537

17.5 switch语句539

17.6异常与finally语句545

17.6.1 异常的抛出545

17.6.2 异常的捕获与finally语句545

第18章生成Class文件553

18.1 Class文件的结构553

18.2 魔数与版本556

18.3 常量池556

18.4类定义的基本信息562

18.4.1 访问标识符562

18.4.2 类、父类及接口集合564

18.5 字段集合565

18.6 方法集合570

18.7 类属性集合575

18.8描述符和签名581

18.8.1 描述符581

18.8.2 签名582

18.8.3 描述符与签名的实现585

附录AJavac命令589

附录B文法592

附录C类型常见操作600

C.1 supertype()方法600

C.2 interfaces()方法604

C.3 asSuper()方法606

C.4 asOuterSuper()方法608

C.5 isSameType()方法609

C.6 L()与U()方法615

C.7 lowerBound()与upperBound()方法616

C.8 containsType()方法617

C.9 hasSameArgs()方法621

C.10 subst()方法623

C.11 memberType()方法626

C.12 erasure()与erasureRecursive()方法628

附录D符号常见操作632

D.1 isInheritedIn()方法632

D.2 hiddenIn()方法633

D.3 isMemberOf()方法634

D.4 overrides()方法635

D.5 implementation()方法639

附录E虚拟机字节码指令表645

E.1 加载与存储指令645

E.2 运算指令648

E.3 类型转换指令650

E.4 对象操作指令651

E.5 操作数栈管理指令652

E.6 控制转移指令652

E.7 方法调用和返回指令653

E.8 异常抛出指令654

E.9 同步指令654

2020《深入解析JAVA编译器 源码剖析与实例详解》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

仪器分析问题详解(1992 PDF版)
仪器分析问题详解
1992 台湾:晓园出版社
JAVA高并发编程详解  深入理解并发核心库(2020 PDF版)
JAVA高并发编程详解 深入理解并发核心库
2020
工业机器人技术基础及其应用(2020 PDF版)
工业机器人技术基础及其应用
2020
解析入門(1981.11 PDF版)
解析入門
1981.11 岩波書店
公证实例析解选(1988 PDF版)
公证实例析解选
1988
Photoshop CS数码相片处理实例解析( PDF版)
Photoshop CS数码相片处理实例解析
浦东电子出版社
例解 回帰分析入門(1983 PDF版)
例解 回帰分析入門
1983 日刊工業新聞社
C++入门及实例详解(1994 PDF版)
C++入门及实例详解
1994 北京:电子工业出版社
Delphi入门及实例详解(1996 PDF版)
Delphi入门及实例详解
1996 北京:电子工业出版社
Java实用编程例解(1999 PDF版)
Java实用编程例解
1999 北京:电子工业出版社
Windows 3.1编程实例详解(1995 PDF版)
Windows 3.1编程实例详解
1995 北京:电子工业出版社
信用状实例解析(1994 PDF版)
信用状实例解析
1994 巨浪出版社
AutoCAD R14命令详解与问题剖析(1998 PDF版)
AutoCAD R14命令详解与问题剖析
1998 北京:中国水利水电出版社
解剖学析疑(1989 PDF版)
解剖学析疑
1989 重庆:科学技术出版社重庆分社
C++ Builder编程实例详解(1999 PDF版)
C++ Builder编程实例详解
1999 北京:电子工业出版社