图书介绍
Java语言规范 基于Java SE 8PDF|Epub|txt|kindle电子书版本网盘下载
![Java语言规范 基于Java SE 8](https://www.shukui.net/cover/57/30029132.jpg)
- (美)高斯林,乔伊,斯蒂尔等著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111523994
- 出版时间:2016
- 标注页数:514页
- 文件大小:64MB
- 文件页数:529页
- 主题词:JAVA语言-程序设计-英文
PDF下载
下载说明
Java语言规范 基于Java SE 8PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 概述1
1.1 本书结构1
1.2 样例程序4
1.3 表示法4
1.4 与预定义的类和接口的关系4
1.5 反馈5
1.6 参考文献5
第2章 文法6
2.1 上下文无关文法6
2.2 词法6
2.3 句法6
2.4 文法表示法6
第3章 词法结构9
3.1 Unicode9
3.2 词法翻译10
3.3 Unicode转义字符10
3.4 行终止符11
3.5 输入元素和符号12
3.6 空白字符12
3.7 注释13
3.8 标识符14
3.9 关键字15
3.10 字面常量15
3.10.1 整数字面常量15
3.10.2 浮点数字面常量19
3.10.3 布尔字面常量21
3.10.4 字符字面常量21
3.10.5 字符串字面常量22
3.10.6 字符和字符串字面常量的转义序列23
3.10.7 空字面常量24
3.11 分隔符24
3.12 操作符24
第4章 类型、值和变量25
4.1 类型和值的种类25
4.2 简单类型和值25
4.2.1 整数类型和值26
4.2.2 整数操作26
4.2.3 浮点数类型、格式和值27
4.2.4 浮点数操作29
4.2.5 boolean类型和布尔值31
4.3 引用类型和值32
4.3.1 对象33
4.3.2 Object类35
4.3.3 Strinq类35
4.3.4 当引用类型相同时35
4.4 类型变量36
4.5 参数化类型37
4.5.1 参数化类型的类型引元38
4.5.2 参数化类型的成员和构造器40
4.6 类型擦除40
4.7 可具化类型41
4.8 原生类型42
4.9 交集类型45
4.10 子类型化45
4.10.1 简单类型之间的子类型化46
4.10.2 类与接口类型之间的子类型化46
4.10.3 数组类型之间的子类型化47
4.10.4 最低上边界47
4.11 使用类型之处49
4.12 变量52
4.12.1 简单类型的变量52
4.12.2 引用类型的变量52
4.12.3 变量的种类54
4.12.4 final变量55
4.12.5 变量的初始值56
4.12.6 类型、类和接口57
第5章 类型转换与上下文59
5.1 转换的种类61
5.1.1 标识转换61
5.1.2 拓宽简单类型转换61
5.1.3 窄化简单类型转换62
5.1.4 拓宽和窄化简单类型转换64
5.1.5 拓宽引用类型转换64
5.1.6 窄化引用类型转换64
5.1.7 装箱转换65
5.1.8 拆箱转换66
5.1.9 非受检转换67
5.1.10 捕获转换67
5.1.11 字符串转换69
5.1.12 被禁止的转换69
5.1.13 值集转换70
5.2 赋值上下文70
5.3 方法调用上下文74
5.4 字符串上下文75
5.5 强制类型转换上下文75
5.5.1 引用类型强制类型转换77
5.5.2 受检强制类型转换和非受检强制类型转换79
5.5.3 运行时的受检强制类型转换80
5.6 数字上下文81
5.6.1 一元数字提升82
5.6.2 二元数字提升83
第6章 名字84
6.1 声明84
6.2 名字与标识符89
6.3 声明的作用域91
6.4 遮蔽和遮掩93
6.4.1 遮蔽94
6.4.2 遮掩96
6.5 确定名字的含义97
6.5.1 根据上下文的名字的句法分类98
6.5.2 对上下文歧义名字的重分类100
6.5.3 包名的含义101
6.5.4 PackageOrTypeNames的含义102
6.5.5 类型名的含义102
6.5.6 表达式名的含义103
6.5.7 方法名的含义105
6.6 访问控制106
6.6.1 确定可访问性107
6.6.2 受保护访问权限的细节110
6.7 完全限定名和规范名111
第7章 包113
7.1 包成员113
7.2 主机对包的支持114
7.3 编译单元115
7.4 包声明116
7.4.1 具名包116
7.4.2 不具名包116
7.4.3 包的可观察性117
7.5 导入声明117
7.5.1 单类型导入声明118
7.5.2 按需类型导入声明119
7.5.3 单静态导入声明120
7.5.4 按需静态导入声明120
7.6 顶层类型声明121
第8章 类123
8.1 类声明124
8.1.1 类修饰符124
8.1.2 泛化类和类型参数126
8.1.3 内部类和包围实例128
8.1.4 超类和子类130
8.1.5 超接口132
8.1.6 类体和成员声明134
8.2 类成员135
8.3 域声明138
8.3.1 域修饰符141
8.3.2 域的初始化145
8.3.3 在域初始化过程中的向前引用146
8.4 方法声明148
8.4.1 形参149
8.4.2 方法签名152
8.4.3 方法修饰符152
8.4.4 泛化方法156
8.4.5 方法的结果157
8.4.6 方法抛出异常157
8.4.7 方法体158
8.4.8 继承、覆盖和隐藏159
8.4.9 重载166
8.5 成员类型声明168
8.5.1 静态成员类型声明169
8.6 实例初始化器169
8.7 静态初始化器169
8.8 构造器声明170
8.8.1 形参170
8.8.2 构造器签名171
8.8.3 构造器修饰符171
8.8.4 泛化构造器172
8.8.5 构造器抛出异常172
8.8.6 构造器的类型172
8.8.7 构造器体172
8.8.8 构造器重载176
8.8.9 缺省构造器176
8.8.10 阻止类的实例化177
8.9 枚举类型177
8.9.1 枚举常量178
8.9.2 枚举体声明178
8.9.3 枚举成员180
第9章 接口184
9.1 接口声明184
9.1.1 接口修饰符185
9.1.2 泛化接口和类型参数185
9.1.3 超接口和子接口186
9.1.4 接口体和成员声明187
9.2 接口成员187
9.3 域(常量)声明187
9.3.1 接口中域的初始化189
9.4 方法声明189
9.4.1 继承和覆盖190
9.4.2 重载193
9.4.3 接口方法体193
9.5 成员类型声明193
9.6 注解类型194
9.6.1 注解类型元素195
9.6.2 注解类型元素的缺省值197
9.6.3 可重复的注解类型198
9.6.4 预定义的注解类型200
9.7 注解204
9.7.1 普通注解205
9.7.2 标记注解207
9.7.3 单元素注解207
9.7.4 注解可以出现在何处208
9.7.5 同种类型的多重注解211
9.8 函数型接口212
9.9 函数类型214
第10章 数组218
10.1 数组类型218
10.2 数组变量219
10.3 数组创建220
10.4 数组访问220
10.5 数组存储异常220
10.6 数组初始化器221
10.7 数组成员222
10.8 数组的class对象223
10.9 字符数组不是string224
第11章 异常225
11.1 异常的种类和成因225
11.1.1 异常的种类225
11.1.2 异常的成因226
11.1.3 异步异常226
11.2 异常的编译时检查227
11.2.1 表达式异常分析228
11.2.2 语句异常分析228
11.2.3 异常检查229
11.3 异常的运行时处理230
第12章 执行233
12.1 Java虚拟机启动233
12.1.1 加载Test类233
12.1.2 链接Test:校验、准备、(可选的)解析233
12.1.3 初始化Test:执行初始化器234
12.1.4 调用Test.main234
12.2 加载类和接口235
12.2.1 加载过程235
12.3 链接类和接口236
12.3.1 二进制表示的校验236
12.3.2 类或接口类型的准备236
12.3.3 符号引用的解析237
12.4 初始化类和接口237
12.4.1 当初始化发生时238
12.4.2 详细的初始化过程239
12.5 创建新的类实例241
12.6 类实例的终结243
12.6.1 实现终结244
12.6.2 与内存模型的交互245
12.7 卸载类和接口246
12.8 程序退出247
第13章 二进制兼容性248
13.1 二进制形式249
13.2 二进制兼容性到底是什么252
13.3 包的演化252
13.4 类的演化253
13.4.1 abstract类253
13.4.2 final类253
13.4.3 public类253
13.4.4 超类和超接口253
13.4.5 类的类型参数254
13.4.6 类体和成员声明255
13.4.7 对成员和构造器的访问权限256
13.4.8 域声明257
13.4.9 final域和static常量变量258
13.4.10 static域260
13.4.11 transient域260
13.4.12 方法和构造器声明260
13.4.13 方法和构造器的类型参数261
13.4.14 方法和构造器的形式参数261
13.4.15 方法返回类型262
13.4.16 abstract方法262
13.4.17 final方法262
13.4.18 native方法263
13.4.19 static方法263
13.4.20 synchronized方法263
13.4.21 方法和构造器的抛出物263
13.4.22 方法和构造器体263
13.4.23 方法和构造器的重载264
13.4.24 方法覆盖264
13.4.25 静态初始化器264
13.4.26 枚举的演化265
13.5 接口的演化265
13.5.1 public接口265
13.5.2 超接口265
13.5.3 接口成员265
13.5.4 接口的类型参数266
13.5.5 域声明266
13.5.6 接口方法声明266
13.5.7 注解类型的演化267
第14章 块和语句268
14.1 语句的正常结束和猝然结束268
14.2 块269
14.3 局部类声明269
14.4 局部变量声明语句270
14.4.1 局部变量声明符和类型271
14.4.2 局部变量声明的执行271
14.5 语句271
14.6 空语句272
14.7 标号语句273
14.8 表达式语句274
14.9 if语句274
14.9.1 if-then语句274
14.9.2 if-then-else语句275
14.10 assert语句275
14.11 switch语句277
14.12 while语句280
14.12.1 while语句的猝然结束280
14.13 do语句281
14.13.1 do语句的猝然结束281
14.14 for语句282
14.14.1 基本for语句282
14.14.2 增强for语句284
14.15 break语句285
14.16 continue语句287
14.17 return语句288
14.18 throw语句289
14.19 synchronized语句290
14.20 try语句291
14.20.1 try-catch的执行293
14.20.2 try-finally和try-catch-finally的执行294
14.20.3 带资源的try296
14.21 不可达语句299
第15章 表达式303
15.1 计算、表示和结果303
15.2 表达式的形式303
15.3 表达式的类型304
15.4 FP-严格的表达式304
15.5 表达式和运行时检查305
15.6 计算的正常和猝然结束306
15.7 计算顺序307
15.7.1 首先计算左操作数307
15.7.2 在操作之前计算操作数308
15.7.3 计算遵循括号和优先级309
15.7.4 引元列表是自左向右计算的310
15.7.5 其他表达式的计算顺序310
15.8 基本表达式311
15.8.1 词法上的字面常量312
15.8.2 类字面常量312
15.8.3 this313
15.8.4 限定的this313
15.8.5 带括号的表达式314
15.9 类实例创建表达式314
15.9.1 确定要实例化的类315
15.9.2 确定包围实例316
15.9.3 选择构造器及其引元317
15.9.4 类实例创建表达式的运行时计算319
15.9.5 匿名类声明320
15.10 数组创建和访问表达式321
15.10.1 数组创建表达式321
15.10.2 数组创建表达式的运行时执行322
15.10.3 数组访问表达式324
15.10.4 数组访问表达式的运行时计算324
15.11 域访问表达式326
15.11.1 使用基本表达式访问域326
15.11.2 使用super访问超类成员328
15.12 方法调用表达式329
15.12.1 编译时的步骤1:确定要搜索的类或接口330
15.12.2 编译时的步骤2:确定方法签名332
15.12.3 编译时的步骤3:选中的方法是否合适342
15.12.4 方法调用的运行时计算343
15.13 方法引用表达式350
15.13.1 方法引用的编译时声明352
15.13.2 方法引用的类型355
15.13.3 方法引用的运行时计算356
15.14 后缀表达式359
15.14.1 表达式名字359
15.14.2 后缀递增操作符++359
15.14.3 后缀递减操作符--359
15.15 一元操作符360
15.15.1 前缀递增操作符++361
15.15.2 前缀递减操作符--361
15.15.3 一元加号操作符+362
15.15.4 一元减号操作符-362
15.15.5 按位取反操作符~362
15.15.6 逻辑取反操作符!362
15.16 强制类型转换表达式363
15.17 乘除操作符364
15.17.1 乘法操作符*364
15.17.2 除法操作符365
15.17.3 取余操作符%366
15.18 加减操作符367
15.18.1 字符串连接操作符+368
15.18.2 用于数字类型的加减操作符(+和-)369
15.19 移位操作符371
15.20 关系操作符371
15.20.1 数字比较操作符 <、<=、>和>=372
15.20.2 类型比较操作符instanceof372
15.21 判等操作符373
15.21.1 数字判等操作符==和!=373
15.21.2 布尔判等操作符==和!=374
15.21.3 引用判等操作符==和!=374
15.22 位操作符与逻辑操作符375
15.22.1 整数位操作符&、^和|375
15.22.2 布尔逻辑操作符&、^和|376
15.23 条件与操作符&&376
15.24 条件或操作符| |376
15.25 条件操作符?:377
15.25.1 布尔条件表达式381
15.25.2 数字型条件表达式381
15.25.3 引用条件表达式382
15.26 赋值操作符383
15.26.1 简单赋值操作符=383
15.26.2 复合赋值操作符387
15.27 lambda表达式391
15.27.1 lambda参数393
15.27.2 lambda体394
15.27.3 lambda表达式的类型397
15.27.4 lambda表达式的运行时计算398
15.28 常量表达式399
第16章 明确赋值400
16.1 明确赋值和表达式404
16.1.1 布尔常量表达式404
16.1.2 条件与操作符&&404
16.1.3 条件或操作符||404
16.1.4 逻辑取反操作符!405
16.1.5 条件操作符?:405
16.1.6 其他boolean类型的表达式405
16.1.7 赋值表达式406
16.1.8 操作符++和--406
16.1.9 其他表达式406
16.2 明确赋值与语句407
16.2.1 空语句407
16.2.2 块407
16.2.3 局部类声明语句408
16.2.4 局部变量声明语句408
16.2.5 标号语句409
16.2.6 表达式语句409
16.2.7 if语句409
16.2.8 assert语句409
16.2.9 switch语句410
16.2.10 while语句410
16.2.11 do语句410
16.2.12 for语句411
16.2.13 break、continue、return和throw语句412
16.2.14 synchronized语句412
16.2.15 try语句412
16.3 明确赋值与参数413
16.4 明确赋值与数组初始化器413
16.5 明确赋值与枚举常量413
16.6 明确赋值与匿名类414
16.7 明确赋值与成员类型414
16.8 明确赋值与静态初始化器414
16.9 明确赋值、构造器和实例初始化器415
第17章 线程与锁416
17.1 同步416
17.2 等待集和通知417
17.2.1 等待417
17.2.2 通知418
17.2.3 中断418
17.2.4 等待、通知和中断的交互418
17.3 睡眠和让步419
17.4. 内存模型419
17.4.1 共享变量421
17.4.2 动作421
17.4.3 程序和程序顺序422
17.4.4 同步顺序422
17.4.5 “之前发生”顺序423
17.4.6 执行425
17.4.7 良构执行425
17.4.8 执行和因果关系要求426
17.4.9 可观察的行为和不终止的执行428
17.5 final域的语义429
17.5.1 final域的语义430
17.5.2 在构造阶段读final域430
17.5.3 对final域的后续修改431
17.5.4 写受保护的域432
17.6 字撕裂432
17.7 double和long的非原子化处理433
第18章 类型推断434
18.1 概念与表示法435
18.1.1 推断变量435
18.1.2 约束公式435
18.1.3 边界435
18.2 归纳436
18.2.1 表达式可兼容性约束437
18.2.2 类型可兼容性约束440
18.2.3 子类型化约束440
18.2.4 类型相等性约束442
18.2.5 受检异常约束442
18.3 合并443
18.3.1 互补的边界对444
18.3.2 涉及捕获转换的边界444
18.4 解析445
18.5 推断的使用446
18.5.1 调用可应用性的推断447
18.5.2 调用类型的推断448
18.5.3 函数型接口的参数化版本推断451
18.5.4 更具体方法的推断452
第19章 语法454
索引470