Java程序设计语言(中文第4版) PDF 高清电子书 免费下载 完整版 在线阅读- 高飞网
Java程序设计语言

Java程序设计语言(第4版)

中文版
[美] Ken Arnold, James Gosling, David Holmes
Java
浏览人数:142 在读人数:4
    《Java 程序设计语言(第4版)》主要讲授Java程序设计语言,系统地介绍Java的主要包(即java.lang.*、java.util和java.io)中的大多数类,并以内容丰富的示例对这些类如何工作进行了深入剖析。作者对这部经典著作进行更新,使其反映了Java 2标准版5.0(J2SE 5.0)中主要的增强。本版中增加了几章新内容,专门讨论泛型、枚举以及注解(这些是5.0版引入的主要的新特性),并且加了几小节论述断言和正则表达式。《Java 程序设计语言(第4版)》经过更新后还结合了当今构建健壮、高效和可维护的Java软件的最佳实践。
    《Java 程序设计语言(第4版)》对所有程序员(包括那些经验丰富的程序员在内)都是不可或缺的参考书。

第1章 快速浏览 1   
1.1 开始 1   
1.2 变量 2   
1.3 代码中的注释 4   
1.4 具名常量 5   
1.5 Unicode字符 6   
1.6 控制流 6   
1.7 类和对象 8   
1.7.1 创建对象 9   
1.7.2 静态字段 (类字段) 10   
1.7.3 垃圾回收器 10   
1.8 方法和参数 10   
1.8.1 调用方法 11   
1.8.2 this引用 11   
1.8.3 静态方法 (类方法) 12   
1.9 数组 12   
1.10 字符串对象 14   
1.11 扩展一个类 16   
1.11.1 调用超类的方法 17   
1.11.2 Object类 18   
1.11.3 类型强制转换 18   
1.12 接口 18   
1.13 泛型类型 20   
1.14 异常 22   
1.15 注解 23   
1.16 包 24   
1.17 Java平台 25   
1.18 其他主题概述 26   
第2章 类与对象 27   
2.1 一个简单的类 27   
2.1.1 类成员 28   
2.1.2 类修饰符 28   
2.2 字段 28   
2.2.1 字段的初始化 29   
2.2.2 静态字段 29   
2.2.3 final字段 30   
2.3 访问控制 31   
2.4 创建对象 32   
2.5 构造与初始化 32   
2.5.1 构造器 33   
2.5.2 初始化块 35   
2.5.3 静态初始化 36   
2.6 方法 37   
2.6.1 静态方法 37   
2.6.2 方法调用 38   
2.6.3 引元数量可变的方法 39   
2.6.4 方法异常与返回 40   
2.6.5 参数值 41   
2.6.6 使用方法来控制访问 43   
2.7 this 45   
2.8 重载方法 45   
2.9 导入静态成员名 47   
2.10 main方法 48   
2.11 本地方法 49   
第3章 类的扩展 50   
3.1 扩展类 50   
3.2 扩展类的构造器 53   
3.3 继承与重定义成员 56   
3.3.1 覆盖 56   
3.3.2 隐藏字段 57   
3.3.3 访问继承的成员 57   
3.3.4 可访问性与覆盖 59   
3.3.5 隐藏静态成员 59   
3.3.6 super关键字 59   
3.4 类型兼容与转换 60   
3.4.1 兼容性 60   
3.4.2 显式的类型强制转换 61   
3.4.3 类型检测 61   
3.5 protected的真正含义 62   
3.6 将方法与类标记为final 64   
3.7 抽象类与抽象方法 65   
3.8 Object类 66   
3.9 克隆对象 68   
3.9.1 克隆的策略 68   
3.9.2 正确克隆 69   
3.9.3 浅克隆与深克隆 71   
3.10 扩展类: 如何扩展以及何时扩展 72   
3.11 设计一个可扩展的类 73   
3.12 单重继承与多重继承 77   
第4章 接口 79   
4.1 一个简单的接口示例 79   
4.2 接口声明 81   
4.2.1 接口常量 81   
4.2.2 接口方法 82   
4.2.3 接口修饰符 82   
4.3 扩展接口 83   
4.3.1 继承和隐藏常量 83   
4.3.2 继承、覆盖和重载方法 84   
4.4 使用接口 85   
4.4.1 实现接口 86   
4.4.2 使用实现 87   
4.5 标记接口 88   
4.6 何时使用接口 88   
第5章 嵌套类和接口 90   
5.1 静态嵌套类型 90   
5.1.1 静态嵌套类 90   
5.1.2 嵌套接口 92   
5.2 内部类 92   
5.2.1 访问包围对象 93   
5.2.2 扩展内部类 94   
5.2.3 继承、作用字段和隐藏 95   
5.3 局部内部类 96   
5.4 匿名内部类 98   
5.5 继承嵌套类型 99   
5.6 接口中的嵌套 100   
5.7 嵌套类型的实现 101   
第6章 枚举类型 102   
6.1 一个简单的枚举类型的例子 102   
6.2 枚举声明 103   
6.3 枚举常量的声明 104   
6.3.1 构造 104   
6.3.2 常量相关的行为 105   
6.4 java.lang.Enum 107   
6.5 是否应该使用枚举 108   
第7章 语言符号、值和变量 109   
7.1 词法元素 109   
7.1.1 字符集 109   
7.1.2 注释 110   
7.1.3 语言符号 111   
7.1.4 标识符 111   
7.1.5 关键字 112   
7.2 类型和字面常量 112   
7.2.1 引用型字面常量 113   
7.2.2 布尔型字面常量 113   
7.2.3 字符型字面常量 113   
7.2.4 整型字面常量 113   
7.2.5 浮点型字面常量 113   
7.2.6 字符串型字面常量 114   
7.2.7 类字面常量 114   
7.3 变量 115   
7.3.1 字段和局部变量的声明 115   
7.3.2 参数变量 116   
7.3.3 final变量 116   
7.4 数组变量 117   
7.4.1 数组修饰符 118   
7.4.2 数组的数组 118   
7.4.3 数组初始化 118   
7.4.4 数组和类型 119   
7.5 名字的意义 120   
第8章 包装器类 123   
8.1 通用字段和方法 124   
8.1.1 构造 124   
8.1.2 常量 124   
8.1.3 公共方法 125   
8.2 Void类 126   
8.3 Boolean类 126   
8.4 Number类 126   
8.4.1 整型包装器 126   
8.4.2 浮点型包装器类 128   
8.5 Character类 129   
8.6 装箱转换 133   
第9章 运算符和表达式 135   
9.1 算术运算 135   
9.1.1 整数运算 135   
9.1.2 浮点运算 136   
9.1.3 严格浮点运算和非严格浮点运算 137   
9.2 通用运算符 137   
9.2.1 递增运算符和递减运算符 137   
9.2.2 关系运算符和判等运算符 138   
9.2.3 逻辑运算符 139   
9.2.4 instanceof 140   
9.2.5 位操作运算符 140   
9.2.6 条件运算符?: 141   
9.2.7 赋值运算符 142   
9.2.8 字符串连接运算符 143   
9.2.9 new 144   
9.3 表达式 144   
9.3.1 计算顺序 144   
9.3.2 表达式类型 145   
9.4 类型转换 145   
9.4.1 隐式类型转换 145   
9.4.2 显式类型强制转换 147   
9.4.3 字符串转换 148   
9.5 运算符优先级和结合性 148   
9.6 成员访问 150   
第10章 控制流 154   
10.1 语句和块 154   
10.2 if-else 155   
10.3 switch 156   
10.4 while和do-while 158   
10.5 for 159   
10.5.1 基本的for语句 159   
10.5.2 增强的for语句 161   
10.6 标号 162   
10.7 break 162   
10.8 continue 164   
10.9 return 165   
10.10 什么?没有goto? 165   
第11章 泛型类型 167   
11.1 泛型类型声明 169   
11.1.1 有界类型参数 170   
11.1.2 嵌套泛型类型 171   
11.2 使用泛型类型 173   
11.3 泛型方法和泛型构造器 176   
11.4 通配符捕获 179   
11.5 揭秘:擦除与原始类型 181   
11.5.1 运行时擦除 181   
11.5.2 重载与覆盖 183   
11.6 再谈寻找正确的方法 184   
11.7 类的扩展与泛型类型 187   
第12章 异常与断言 189   
12.1 创建异常类型 189   
12.2 throw 191   
12.2.1 控制的转移 191   
12.2.2 异步异常 191   
12.3 throws子句 192   
12.3.1 throws子句和方法覆盖 193   
12.3.2 throws子句和本地方法 193   
12.4 try、catch和finally 194   
12.5 异常链 197   
12.6 栈轨迹 199   
12.7 什么时候使用异常 199   
12.8 断言 200   
12.9 什么时候使用断言 201   
12.9.1 状态断言 201   
12.9.2 控制流断言 202   
12.10 打开和关闭断言 203   
12.10.1 为什么要开关断言? 203   
12.10.2 在命令行控制断言 203   
12.10.3 彻底移除 204   
12.10.4 使断言成为必需的 204   
第13章 字符串与正则表达式 206   
13.1 字符序列 206   
13.2 String类 206   
13.2.1 基本的String操作 207   
13.2.2 字符串比较 208   
13.2.3 字符串字面常量、等同性和内存限定 210   
13.2.4 创建相关字符串 211   
13.2.5 字符串转换 214   
13.2.6 字符串和char数组 215   
13.2.7 字符串和byte数组 215   
13.2.8 字符集编码方式 216   
13.3 正则表达式的匹配 217   
13.3.1 正则表达式 217   
13.3.2 正则表达式的编译和匹配 218   
13.3.3 替换 220   
13.3.4 区域 222   
13.3.5 效率 223   
13.4 StringBuilder类 223   
13.4.1 修改缓冲区 224   
13.4.2 取出数据 225   
13.4.3 容量管理 226   
13.4.4 StringBuffer类 227   
13.5 使用UTF-16 227   
第14章 线程 229   
14.1 创建线程 230   
14.2 使用Runnable 232   
14.3 同步 235   
14.3.1 synchronized方法 235   
14.3.2 静态synchronized方法 237   
14.3.3 synchronized语句 237   
14.3.4 同步设计 240   
14.4 wait、notifyAll和notify 241   
14.5 等待和通知的详细介绍 243   
14.6 线程调度 244   
14.7 死锁 247   
14.8 结束线程的执行 248   
14.8.1 取消线程 249   
14.8.2 等待线程结束 250   
14.9 结束应用程序的执行 251   
14.10 内存模型: 同步和volatile 252   
14.10.1 同步动作 253   
14.10.2 final字段和安全 254   
14.10.3 “之前发生”关系 254   
14.11 线程管理、线程安全和ThreadGroup 255   
14.12 线程和异常 258   
14.12.1 不要使用stop 259   
14.12.2 栈轨迹 260   
14.13 ThreadLocal变量 260   
14.14 调试线程 261   
第15章 注解 263   
15.1 一个简单的注解实例 263   
15.2 注解类型 264   
15.3 注解元素 266   
15.4 限制注解的适用性 267   
15.5 保存策略 268   
15.6 使用注解 268   
第16章 反射 270   
16.1 Class类 272   
16.1.1 类型符号 272   
16.1.2 类检查 273   
16.1.3 检查类成员 277   
16.1.4 命名类 279   
16.1.5 通过名字获取Class对象 281   
16.1.6 运行时类型查询 281   
16.2 注解查询 282   
16.3 Modifier类 283   
16.4 成员类 283   
16.5 访问检查和AccessibleObject 284   
16.6 Field类 284   
16.7 Method类 286   
16.8 创建新对象和Constructor类 288   
16.9 泛型类型检查 290   
16.9.1 类型变量 290   
16.9.2 参数化类型 291   
16.9.3 通配符 291   
16.9.4 泛型数组 291   
16.9.5 Type对象的字符串表示 292   
16.10 数组 292   
16.11 包 294   
16.12 Proxy类 295   
16.13 加载类 297   
16.13.1 ClassLoader类 298   
16.13.2 为类的使用做准备 300   
16.13.3 加载相关资源 301   
16.14 在运行时控制断言 302   
第17章 垃圾回收与内存 304   
17.1 垃圾回收 304   
17.2 一个简单的模型 305   
17.3 终结 305   
17.4 与垃圾回收器交互 308   
17.5 可达性状态和引用对象 309   
17.5.1 Reference类 309   
17.5.2 引用和可达性强度 310   
17.5.3 引用队列 312   
17.5.4 终结和可达性 316   
第18章 包 317   
18.1 包的命名 317   
18.2 类型导入 318   
18.3 包的访问 319   
18.4 包的内容 322   
18.5 包的注解 323   
18.6 包对象和规范 323   
第19章 文档注释 326   
19.1 剖析文档注释 326   
19.2 标签 327   
19.2.1 @see 327   
19.2.2 {@link}和{@linkplain} 328   
19.2.3 @param 328   
19.2.4 @return 328   
19.2.5 @throws和@exception 328   
19.2.6 @deprecated 329   
19.2.7 @author 329   
19.2.8 @version 329   
19.2.9 @since 330   
19.2.10 {@literal}和{@code} 330   
19.2.11 {@value} 330   
19.2.12 {@docRoot} 330   
19.2.13 {@inheritDoc} 331   
19.3 继承方法的文档注释 331   
19.4 一个简单示例 332   
19.5 外部规范 334   
19.5.1 包文档和概述文档 334   
19.5.2 doc-files目录 337   
19.6 使用说明 337   
第20章 I/O包 338   
20.1 流的概述 338   
20.2 字节流 339   
20.2.1 InputStream 340   
20.2.2 OutputStream 342   
20.3 字符流 343   
20.3.1 Reader 344   
20.3.2 Writer 345   
20.3.3 字符流与标准流 346   
20.4 InputStreamReader与OutputStreamWriter 346   
20.5 流类简介 348   
20.5.1 同步与并发 348   
20.5.2 Filter流 349   
20.5.3 Buffered流 351   
20.5.4 Piped流 352   
20.5.5 ByteArray字节流 353   
20.5.6 CharArray字符流 354   
20.5.7 String字符流 354   
20.5.8 Print流 355   
20.5.9 LineNumberReader 357   
20.5.10 SequenceInputStream 358   
20.5.11 Pushback流 359   
20.5.12 StreamTokenizer 360   
20.6 数据字节流 363   
20.6.1 DataInput与DataOutput 364   
20.6.2 Data流类 365   
20.7 文件操作 366   
20.7.1 File流与FileDescriptor 366   
20.7.2 RandomAccessFile 367   
20.7.3 File类 368   
20.7.4 FilenameFilter与FileFilter 371   
20.8 对象序列化 372   
20.8.1 Object字节流 372   
20.8.2 让我们的类成为可序列化的(Serializable) 373   
20.8.3 序列化和反序列化顺序 375   
20.8.4 定制序列化 375   
20.8.5 对象版本机制 378   
20.8.6 序列化字段 379   
20.8.7 Externalizable接口 381   
20.8.8 文档注释标签 381   
20.9 IOException类 382   
20.10 体验新I/O 383   
第21章 集合 385   
21.1 集合 385   
21.2 迭代 387   
21.3 使用Comparable和Comparator排序 389   
21.4 Collection接口 390   
21.5 Set和SortedSet 391   
21.5.1 HashSet 392   
21.5.2 LinkedHashSet 393   
21.5.3 TreeSet 393   
21.6 List 393   
21.6.1 ArrayList 394   
21.6.2 LinkedList 395   
21.6.3 RandomAccess列表 396   
21.7 Queue 396   
21.8 Map和SortedMap 398   
21.8.1 HashMap 400   
21.8.2 LinkedHashMap 400   
21.8.3 IdentityHashMap 401   
21.8.4 WeakHashMap 401   
21.8.5 TreeMap 402   
21.9 enum集合 402   
21.9.1 EnumSet 402   
21.9.2 EnumMap 403   
21.10 包装集合和Collections类 404   
21.10.1 Collections工具 404   
21.10.2 不可修改的包装器 407   
21.10.3 检查型包装器 407   
21.11 同步包装和并发集合 407   
21.11.1 同步包装器 408   
21.11.2 并发集合 409   
21.12 Arrays工具类 411   
21.13 编写迭代器实现 412   
21.14 编写集合实现 413   
21.15 遗留集合类型 417   
21.15.1 Enumeration 417   
21.15.2 Vector 418   
21.15.3 Stack 419   
21.15.4 Dictionary 419   
21.15.5 Hashtable 419   
21.16 Properties 419   
第22章 各种常用工具 421   
22.1 Formatter 421   
22.1.1 格式说明符 422   
22.1.2 整型转换 423   
22.1.3 浮点转换 424   
22.1.4 字符转换 425   
22.1.5 通用转换 425   
22.1.6 自定义格式化 425   
22.1.7 格式控制异常 426   
22.1.8 Formatter类 426   
22.2 BitSet 427   
22.3O bserver/Observable 429   
22.4 Random 432   
22.5 Scanner 433   
22.5.1 数值流 433   
22.5.2 扫描行 435   
22.5.3 使用Scanner 437   
22.5.4 本地化 440   
22.6 StringTokenizer 440   
22.7 Timer和TimerTask 441   
22.8 UUID 444   
22.9 Math和StrictMath 444   
第23章 系统编程 447   
23.1 System类 447   
23.1.1 标准I/O流 447   
23.1.2 系统属性 448   
23.1.3 工具方法 449   
23.2 创建进程 450   
23.2.1 Process 451   
23.2.2 进程环境 452   
23.2.3 ProcessBuilder 453   
23.2.4 可移植性 454   
23.3 关闭 454   
23.3.1 关闭挂钩 454   
23.3.2 关闭序列 455   
23.3.3 关闭策略 456   
23.4 Runtime的其他部分 456   
23.4.1 加载本地代码 457   
23.4.2 调试 457   
23.5 安全 457   
23.5.1 SecurityManager类 458   
23.5.2 权限 459   
23.5.3 安全策略 460   
23.5.4 访问控制器和特权执行 460   
第24章 国际化与本地化 462   
24.1 区域 462   
24.2 资源束 464   
24.2.1 ListResourceBundle 466   
24.2.2 PropertyResourceBundle 467   
24.2.3 子类化ResourceBundle 467   
24.3 货币 468   
24.4 时间、日期和日历 468   
24.4.1 日历 469   
24.4.2 时区 472   
24.4.3 GregorianCalendar和SimpleTimeZone 473   
24.5 格式化和解析日期与时间 474   
24.6 文本的国际化和本地化 477   
24.6.1 对照 477   
24.6.2 格式化和解析 478   
24.6.3 文本边界 480   
第25章 标准包 482   
25.1 java.awt——抽象窗口工具箱 483   
25.2 java.applet——小应用程序 485   
25.3 java.beans——构件 486   
25.4 java.math——数学 486   
25.5 java.net——网络 488   
25.6 java.rmi——远程方法调用 490   
25.7 java.security与相关的包——安全工具 493   
25.8 java.sql——关系数据库访问 494   
25.9 工具子包 494   
25.9.1 并发工具java.util.concurrent 494   
25.9.2 压缩文件工具java.util.jar 496   
25.9.3 ZIP压缩文件工具java.util.zip 496   
25.10 javax.*标准扩展 497   
25.11 javax.accessibility——GUI的易用性 497   
25.12 javax.naming——目录与命名服务 497   
25.13 javax.sound——音频操作 498   
25.14 javax.swing——Swing GUI构件 498   
25.15 org.omg.CORBA--CORBA API 499   
附录A 应用演化 500   
附录B 常用表格 505   
进阶读物 510   
索引   
看过本书的人还看过