---
url: /doc/book-stack/p700uuoh/index.md
---
# 《On Java 8》中文版

本书原作者为《Java 编程思想》的作者 Bruce Eckel。

## 示例代码

[/book-stack/OnJava8/-Examples](https://github.com/BruceEckel//book-stack/OnJava8/-Examples)

## 目录

### [前言](00-Preface.md)

### [简介](00-Introduction.md)

### [第一章 对象的概念](01-What-is-an-Object.md)

* [抽象](01-What-is-an-Object.md#抽象)
* [接口](01-What-is-an-Object.md#接口)
* [服务提供](01-What-is-an-Object.md#服务提供)
* [封装](01-What-is-an-Object.md#封装)
* [复用](01-What-is-an-Object.md#复用)
* [继承](01-What-is-an-Object.md#继承)
* [多态](01-What-is-an-Object.md#多态)
* [单继承结构](01-What-is-an-Object.md#单继承结构)
* [集合](01-What-is-an-Object.md#集合)
* [对象创建与生命周期](01-What-is-an-Object.md#对象创建与生命周期)
* [异常处理](01-What-is-an-Object.md#异常处理)
* [本章小结](01-What-is-an-Object.md#本章小结)

### [第二章 安装 Java 和本书用例](02-Installing-Java-and-the-Book-Examples.md)

* [编辑器](02-Installing-Java-and-the-Book-Examples.md#编辑器)
* [Shell](02-Installing-Java-and-the-Book-Examples.md#Shell)
* [Java 安装](02-Installing-Java-and-the-Book-Examples.md#Java安装)
* [校验安装](02-Installing-Java-and-the-Book-Examples.md#校验安装)
* [安装和运行代码示例](02-Installing-Java-and-the-Book-Examples.md#安装和运行代码示例)

### [第三章 万物皆对象](03-Objects-Everywhere.md)

* [对象操纵](03-Objects-Everywhere.md#对象操纵)
* [对象创建](03-Objects-Everywhere.md#对象创建)
* [代码注释](03-Objects-Everywhere.md#代码注释)
* [对象清理](03-Objects-Everywhere.md#对象清理)
* [类的创建](03-Objects-Everywhere.md#类的创建)
* [程序编写](03-Objects-Everywhere.md#程序编写)
* [小试牛刀](03-Objects-Everywhere.md#小试牛刀)
* [编码风格](03-Objects-Everywhere.md#编码风格)
* [本章小结](03-Objects-Everywhere.md#本章小结)

### [第四章 运算符](04-Operators.md)

* [开始使用](04-Operators.md#开始使用)
* [优先级](04-Operators.md#优先级)
* [赋值](04-Operators.md#赋值)
* [算术运算符](04-Operators.md#算术运算符)
* [递增和递减](04-Operators.md#递增和递减)
* [关系运算符](04-Operators.md#关系运算符)
* [逻辑运算符](04-Operators.md#逻辑运算符)
* [字面值常量](04-Operators.md#字面值常量)
* [位运算符](04-Operators.md#位运算符)
* [移位运算符](04-Operators.md#移位运算符)
* [三元运算符](04-Operators.md#三元运算符)
* [字符串运算符](04-Operators.md#字符串运算符)
* [常见陷阱](04-Operators.md#常见陷阱)
* [类型转换](04-Operators.md#类型转换)
* [Java 没有 sizeof](04-Operators.md#Java没有sizeof)
* [运算符总结](04-Operators.md#运算符总结)
* [本章小结](04-Operators.md#本章小结)

### [第五章 控制流](05-Control-Flow.md)

* [true 和 false](05-Control-Flow.md#true和false)
* [if-else](05-Control-Flow.md#if-else)
* [迭代语句](05-Control-Flow.md#迭代语句)
* [for-in 语法](05-Control-Flow.md#for-in-语法)
* [return](05-Control-Flow.md#return)
* [break 和 continue](05-Control-Flow.md#break-和-continue)
* [臭名昭著的 goto](05-Control-Flow.md#臭名昭著的-goto)
* [switch](05-Control-Flow.md#switch)
* [switch 字符串](05-Control-Flow.md#switch-字符串)
* [本章小结](05-Control-Flow.md#本章小结)

### [第六章 初始化和清理](06-Housekeeping.md)

* [利用构造器保证初始化](06-Housekeeping.md#利用构造器保证初始化)
* [方法重载](06-Housekeeping.md#方法重载)
* [无参构造器](06-Housekeeping.md#无参构造器)
* [this 关键字](06-Housekeeping.md#this关键字)
* [垃圾回收器](06-Housekeeping.md#垃圾回收器)
* [成员初始化](06-Housekeeping.md#成员初始化)
* [构造器初始化](06-Housekeeping.md#构造器初始化)
* [数组初始化](06-Housekeeping.md#数组初始化)
* [枚举类型](06-Housekeeping.md#枚举类型)
* [本章小结](06-Housekeeping.md#本章小结)

### [第七章 封装](07-Implementation-Hiding.md)

* [包的概念](07-Implementation-Hiding.md#包的概念)
* [访问权限修饰符](07-Implementation-Hiding.md#访问权限修饰符)
* [接口和实现](07-Implementation-Hiding.md#接口和实现)
* [类访问权限](07-Implementation-Hiding.md#类访问权限)
* [本章小结](07-Implementation-Hiding.md#本章小结)

### [第八章 复用](08-Reuse.md)

* [组合语法](08-Reuse.md#组合语法)
* [继承语法](08-Reuse.md#继承语法)
* [委托](08-Reuse.md#委托)
* [结合组合与继承](08-Reuse.md#结合组合与继承)
* [组合与继承的选择](08-Reuse.md#组合与继承的选择)
* [protected](08-Reuse.md#protected)
* [向上转型](08-Reuse.md#向上转型)
* [final 关键字](08-Reuse.md#final关键字)
* [类初始化和加载](08-Reuse.md#类初始化和加载)
* [本章小结](08-Reuse.md#本章小结)

### [第九章 多态](09-Polymorphism.md)

* [向上转型回顾](09-Polymorphism.md#向上转型回顾)
* [转机](09-Polymorphism.md#转机)
* [构造器和多态](09-Polymorphism.md#构造器和多态)
* [协变返回类型](09-Polymorphism.md#协变返回类型)
* [使用继承设计](09-Polymorphism.md#使用继承设计)
* [本章小结](09-Polymorphism.md#本章小结)

### [第十章 接口](10-Interfaces.md)

* [抽象类和方法](10-Interfaces.md#抽象类和方法)
* [接口创建](10-Interfaces.md#接口创建)
* [抽象类和接口](10-Interfaces.md#抽象类和接口)
* [完全解耦](10-Interfaces.md#完全解耦)
* [多接口结合](10-Interfaces.md#多接口结合)
* [使用继承扩展接口](10-Interfaces.md#使用继承扩展接口)
* [接口适配](10-Interfaces.md#接口适配)
* [接口字段](10-Interfaces.md#接口字段)
* [接口嵌套](10-Interfaces.md#接口嵌套)
* [接口和工厂方法模式](10-Interfaces.md#接口和工厂方法模式)
* [本章小结](10-Interfaces.md#本章小结)

### [第十一章 内部类](11-Inner-Classes.md)

* [创建内部类](11-Inner-Classes.md#创建内部类)
* [链接外部类](11-Inner-Classes.md#链接外部类)
* [使用 .this 和 .new](11-Inner-Classes.md#使用-this-和-new)
* [内部类与向上转型](11-Inner-Classes.md#内部类与向上转型)
* [内部类方法和作用域](11-Inner-Classes.md#内部类方法和作用域)
* [匿名内部类](11-Inner-Classes.md#匿名内部类)
* [嵌套类](11-Inner-Classes.md#嵌套类)
* [为什么需要内部类](11-Inner-Classes.md#为什么需要内部类)
* [继承内部类](11-Inner-Classes.md#继承内部类)
* [内部类可以被覆盖么？](11-Inner-Classes.md#内部类可以被覆盖么？)
* [局部内部类](11-Inner-Classes.md#局部内部类)
* [内部类标识符](11-Inner-Classes.md#内部类标识符)
* [本章小结](11-Inner-Classes.md#本章小结)

### [第十二章 集合](12-Collections.md)

* [泛型和类型安全的集合](12-Collections.md#泛型和类型安全的集合)
* [基本概念](12-Collections.md#基本概念)
* [添加元素组](12-Collections.md#添加元素组)
* [集合的打印](12-Collections.md#集合的打印)
* [列表 List](12-Collections.md#列表List)
* [迭代器 Iterators](12-Collections.md#迭代器Iterators)
* [链表 LinkedList](12-Collections.md#链表LinkedList)
* [堆栈 Stack](12-Collections.md#堆栈Stack)
* [集合 Set](12-Collections.md#集合Set)
* [映射 Map](12-Collections.md#映射Map)
* [队列 Queue](12-Collections.md#队列Queue)
* [集合与迭代器](12-Collections.md#集合与迭代器)
* [for-in 和迭代器](12-Collections.md#for-in和迭代器)
* [本章小结](12-Collections.md#本章小结)

### [第十三章 函数式编程](13-Functional-Programming.md)

* [新旧对比](13-Functional-Programming.md#新旧对比)
* [Lambda 表达式](13-Functional-Programming.md#Lambda表达式)
* [方法引用](13-Functional-Programming.md#方法引用)
* [函数式接口](13-Functional-Programming.md#函数式接口)
* [高阶函数](13-Functional-Programming.md#高阶函数)
* [闭包](13-Functional-Programming.md#闭包)
* [函数组合](13-Functional-Programming.md#函数组合)
* [柯里化和部分求值](13-Functional-Programming.md#柯里化和部分求值)
* [纯函数式编程](13-Functional-Programming.md#纯函数式编程)
* [本章小结](13-Functional-Programming.md#本章小结)

### [第十四章 流式编程](14-Streams.md)

* [流支持](14-Streams.md#流支持)
* [流创建](14-Streams.md#流创建)
* [中间操作](14-Streams.md#中间操作)
* [Optional 类](14-Streams.md#Optional类)
* [终端操作](14-Streams.md#终端操作)
* [本章小结](14-Streams.md#本章小结)

### [第十五章 异常](15-Exceptions.md)

* [异常概念](15-Exceptions.md#异常概念)
* [基本异常](15-Exceptions.md#基本异常)
* [异常捕获](15-Exceptions.md#异常捕获)
* [自定义异常](15-Exceptions.md#自定义异常)
* [异常声明](15-Exceptions.md#异常声明)
* [捕获所有异常](15-Exceptions.md#捕获所有异常)
* [Java 标准异常](15-Exceptions.md#Java-标准异常)
* [使用 finally 进行清理](15-Exceptions.md#使用-finally-进行清理)
* [异常限制](15-Exceptions.md#异常限制)
* [构造器](15-Exceptions.md#构造器)
* [Try-With-Resources 用法](15-Exceptions.md#Try-With-Resources-用法)
* [异常匹配](15-Exceptions.md#异常匹配)
* [其他可选方式](15-Exceptions.md#其他可选方式)
* [异常指南](15-Exceptions.md#异常指南)
* [本章小结](15-Exceptions.md#本章小结)
* [后记：Exception Bizarro World](15-Exceptions.md#后记：Exception-Bizarro-World)

### [第十六章 代码校验](16-Validating-Your-Code.md)

* [测试](16-Validating-Your-Code.md#测试)
* [前置条件](16-Validating-Your-Code.md#前置条件)
* [测试驱动开发](16-Validating-Your-Code.md#测试驱动开发)
* [日志](16-Validating-Your-Code.md#日志)
* [调试](16-Validating-Your-Code.md#调试)
* [基准测试](16-Validating-Your-Code.md#基准测试)
* [剖析和优化](16-Validating-Your-Code.md#剖析和优化)
* [风格检测](16-Validating-Your-Code.md#风格检测)
* [静态错误分析](16-Validating-Your-Code.md#静态错误分析)
* [代码重审](16-Validating-Your-Code.md#代码重审)
* [结对编程](16-Validating-Your-Code.md#结对编程)
* [重构](16-Validating-Your-Code.md#重构)
* [持续集成](16-Validating-Your-Code.md#持续集成)
* [本章小结](16-Validating-Your-Code.md#本章小结)

### [第十七章 文件](17-Files.md)

* [文件和目录路径](17-Files.md#文件和目录路径)
* [目录](17-Files.md#目录)
* [文件系统](17-Files.md#文件系统)
* [路径监听](17-Files.md#路径监听)
* [文件查找](17-Files.md#文件查找)
* [文件读写](17-Files.md#文件读写)
* [本章小结](17-Files.md#本章小结)

### [第十八章 字符串](18-Strings.md)

* [字符串的不可变](18-Strings.md#字符串的不可变)
* [+ 的重载与 StringBuilder](18-Strings.md#-的重载与-StringBuilder)
* [意外递归](18-Strings.md#意外递归)
* [字符串操作](18-Strings.md#字符串操作)
* [格式化输出](18-Strings.md#格式化输出)
* [正则表达式](18-Strings.md#正则表达式)
* [扫描输入](18-Strings.md#扫描输入)
* [StringTokenizer 类](18-Strings.md#StringTokenizer类)
* [本章小结](18-Strings.md#本章小结)

### [第十九章 类型信息](19-Type-Information.md)

* [为什么需要 RTTI](19-Type-Information.md#为什么需要-RTTI)
* [Class 对象](19-Type-Information.md#Class-对象)
* [类型转换检测](19-Type-Information.md#类型转换检测)
* [注册工厂](19-Type-Information.md#注册工厂)
* [类的等价比较](19-Type-Information.md#类的等价比较)
* [反射：运行时类信息](19-Type-Information.md#反射：运行时类信息)
* [动态代理](19-Type-Information.md#动态代理)
* [Optional 类](19-Type-Information.md#Optional类)
* [接口和类型](19-Type-Information.md#接口和类型)
* [本章小结](19-Type-Information.md#本章小结)

### [第二十章 泛型](20-Generics.md)

* [简单泛型](20-Generics.md#简单泛型)
* [泛型接口](20-Generics.md#泛型接口)
* [泛型方法](20-Generics.md#泛型方法)
* [构建复杂模型](20-Generics.md#构建复杂模型)
* [泛型擦除](20-Generics.md#泛型擦除)
* [补偿擦除](20-Generics.md#补偿擦除)
* [边界](20-Generics.md#边界)
* [通配符](20-Generics.md#通配符)
* [问题](20-Generics.md#问题)
* [自限定的类型](20-Generics.md#自限定的类型)
* [动态类型安全](20-Generics.md#动态类型安全)
* [泛型异常](20-Generics.md#泛型异常)
* [混型](20-Generics.md#混型)
* [潜在类型机制](20-Generics.md#潜在类型机制)
* [对缺乏潜在类型机制的补偿](20-Generics.md#对缺乏潜在类型机制的补偿)
* [Java8 中的辅助潜在类型](20-Generics.md#Java8-中的辅助潜在类型)
* [总结：类型转换真的如此之糟吗？](20-Generics.md#总结：类型转换真的如此之糟吗？)
* [进阶阅读](20-Generics.md#进阶阅读)

### [第二十一章 数组](21-Arrays.md)

* [数组特性](21-Arrays.md#数组特性)
* [一等对象](21-Arrays.md#一等对象)
* [返回数组](21-Arrays.md#返回数组)
* [多维数组](21-Arrays.md#多维数组)
* [泛型数组](21-Arrays.md#泛型数组)
* [Arrays 的 fill 方法](21-Arrays.md#Arrays的fill方法)
* [Arrays 的 setAll 方法](21-Arrays.md#Arrays的setAll方法)
* [增量生成](21-Arrays.md#增量生成)
* [随机生成](21-Arrays.md#随机生成)
* [泛型和基本数组](21-Arrays.md#泛型和基本数组)
* [数组元素修改](21-Arrays.md#数组元素修改)
* [数组并行](21-Arrays.md#数组并行)
* [Arrays 工具类](21-Arrays.md#Arrays工具类)
* [数组拷贝](21-Arrays.md#数组拷贝)
* [数组比较](21-Arrays.md#数组比较)
* [流和数组](21-Arrays.md#流和数组)
* [数组排序](21-Arrays.md#数组排序)
* [Arrays.sort 的使用](21-Arrays.md#Arrayssort-的使用)
* [并行排序](21-Arrays.md#并行排序)
* [binarySearch 二分查找](21-Arrays.md#binarySearch二分查找)
* [parallelPrefix 并行前缀](21-Arrays.md#parallelPrefix并行前缀)
* [本章小结](21-Arrays.md#本章小结)

### [第二十二章 枚举](22-Enumerations.md)

* [基本 enum 特性](22-Enumerations.md#基本-enum-特性)
* [方法添加](22-Enumerations.md#方法添加)
* [switch 语句中的 enum](22-Enumerations.md#switch-语句中的-enum)
* [values 方法的神秘之处](22-Enumerations.md#values-方法的神秘之处)
* [实现而非继承](22-Enumerations.md#实现而非继承)
* [随机选择](22-Enumerations.md#随机选择)
* [使用接口组织枚举](22-Enumerations.md#使用接口组织枚举)
* [使用 EnumSet 替代 Flags](22-Enumerations.md#使用-EnumSet-替代-Flags)
* [使用 EnumMap](22-Enumerations.md#使用-EnumMap)
* [常量特定方法](22-Enumerations.md#常量特定方法)
* [多路分发](22-Enumerations.md#多路分发)
* [本章小结](22-Enumerations.md#本章小结)

### [第二十三章 注解](23-Annotations.md)

* [基本语法](23-Annotations.md#基本语法)
* [编写注解处理器](23-Annotations.md#编写注解处理器)
* [使用 javac 处理注解](23-Annotations.md#使用javac处理注解)
* [基于注解的单元测试](23-Annotations.md#基于注解的单元测试)
* [本章小结](23-Annotations.md#本章小结)

### [第二十四章 并发编程](24-Concurrent-Programming.md)

* [术语问题](24-Concurrent-Programming.md#术语问题)
* [并发的超能力](24-Concurrent-Programming.md#并发的超能力)
* [并发为速度而生](24-Concurrent-Programming.md#并发为速度而生)
* [四句格言](24-Concurrent-Programming.md#四句格言)
* [残酷的真相](24-Concurrent-Programming.md#残酷的真相)
* [本章其余部分](24-Concurrent-Programming.md#本章其余部分)
* [并行流](24-Concurrent-Programming.md#并行流)
* [创建和运行任务](24-Concurrent-Programming.md#创建和运行任务)
* [终止耗时任务](24-Concurrent-Programming.md#终止耗时任务)
* [CompletableFuture 类](24-Concurrent-Programming.md#CompletableFuture-类)
* [死锁](24-Concurrent-Programming.md#死锁)
* [构造方法非线程安全](24-Concurrent-Programming.md#构造方法非线程安全)
* [复杂性和代价](24-Concurrent-Programming.md#复杂性和代价)
* [本章小结](24-Concurrent-Programming.md#本章小结)

### [第二十五章 设计模式](25-Patterns.md)

* [概念](25-Patterns.md#概念)
* [构建应用程序框架](25-Patterns.md#构建应用程序框架)
* [面向实现](25-Patterns.md#面向实现)
* [工厂模式](25-Patterns.md#工厂模式)
* [函数对象](25-Patterns.md#函数对象)
* [改变接口](25-Patterns.md#改变接口)
* [解释器：运行时的弹性](25-Patterns.md#解释器：运行时的弹性)
* [回调](25-Patterns.md#回调)
* [多次调度](25-Patterns.md#多次调度)
* [模式重构](25-Patterns.md#模式重构)
* [抽象用法](25-Patterns.md#抽象用法)
* [多次派遣](25-Patterns.md#多次派遣)
* [访问者模式](25-Patterns.md#访问者模式)
* [RTTI 的优劣](25-Patterns.md#RTTI的优劣)
* [本章小结](25-Patterns.md#本章小结)

### [附录:成为一名程序员](Appendix-Becoming-a-Programmer.md)

* [如何开始](Appendix-Becoming-a-Programmer.md#如何开始)
* [码农生涯](Appendix-Becoming-a-Programmer.md#码农生涯)
* [百分之五的神话](Appendix-Becoming-a-Programmer.md#百分之五的神话)
* [重在动手](Appendix-Becoming-a-Programmer.md#重在动手)
* [像打字般编程](Appendix-Becoming-a-Programmer.md#像打字般编程)
* [做你喜欢的事](Appendix-Becoming-a-Programmer.md#做你喜欢的事)

### [附录:静态语言类型检查](Appendix-Benefits-and-Costs-of-Static-Type-Checking.md)

* [前言](Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#前言)
* [静态类型检查和测试](Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#静态类型检查和测试)
* [如何提升打字](Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#如何提升打字)
* [生产力的成本](Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#生产力的成本)
* [静态和动态](Appendix-Benefits-and-Costs-of-Static-Type-Checking.md#静态和动态)

### [附录:集合主题](Appendix-Collection-Topics.md)

* [示例数据](Appendix-Collection-Topics.md#示例数据)
* [List 行为](Appendix-Collection-Topics.md#List行为)
* [Set 行为](Appendix-Collection-Topics.md#Set行为)
* [在 Map 中使用函数式操作](Appendix-Collection-Topics.md#在Map中使用函数式操作)
* [选择 Map 片段](Appendix-Collection-Topics.md#选择Map片段)
* [填充集合](Appendix-Collection-Topics.md#填充集合)
* [使用享元（Flyweight）自定义 Collection 和 Map](Appendix-Collection-Topics.md#使用享元（Flyweight）自定义Collection和Map)
* [集合功能](Appendix-Collection-Topics.md#集合功能)
* [可选操作](Appendix-Collection-Topics.md#可选操作)
* [Set 和存储顺序](Appendix-Collection-Topics.md#Set和存储顺序)
* [队列](Appendix-Collection-Topics.md#队列)
* [理解 Map](Appendix-Collection-Topics.md#理解Map)
* [集合工具类](Appendix-Collection-Topics.md#集合工具类)
* [持有引用](Appendix-Collection-Topics.md#持有引用)
* [Java 1.0 / 1.1 的集合类](Appendix-Collection-Topics.md#Java-10-11-的集合类)
* [本章小结](Appendix-Collection-Topics.md#本章小结)

### [附录:数据压缩](Appendix-Data-Compression.md)

* [使用 Gzip 简单压缩](Appendix-Data-Compression.md#使用-Gzip-简单压缩)
* [使用 zip 多文件存储](Appendix-Data-Compression.md#使用-zip-多文件存储)
* [Java 的 jar](Appendix-Data-Compression.md#Java-的-jar)

### [附录:流式 IO](Appendix-IO-Streams.md)

* [输入流类型](Appendix-IO-Streams.md#输入流类型)
* [输出流类型](Appendix-IO-Streams.md#输出流类型)
* [添加属性和有用的接口](Appendix-IO-Streams.md#添加属性和有用的接口)
* [Reader 和 Writer](Appendix-IO-Streams.md#Reader和Writer)
* [RandomAccessFile 类](Appendix-IO-Streams.md#RandomAccessFile类)
* [IO 流典型用途](Appendix-IO-Streams.md#IO流典型用途)
* [本章小结](Appendix-IO-Streams.md#本章小结)

### [附录:文档注释](Appendix-Javadoc.md)

* [句法规则](Appendix-Javadoc.md#句法规则)
* [内嵌 HTML](Appendix-Javadoc.md#内嵌-HTML)
* [示例标签](Appendix-Javadoc.md#示例标签)
* [文档示例](Appendix-Javadoc.md#文档示例)

### [附录:并发底层原理](Appendix-Low-Level-Concurrency.md)

* [什么是线程？](Appendix-Low-Level-Concurrency.md#什么是线程？)
* [异常捕获](Appendix-Low-Level-Concurrency.md#异常捕获)
* [资源共享](Appendix-Low-Level-Concurrency.md#资源共享)
* [volatile 关键字](Appendix-Low-Level-Concurrency.md#volatile-关键字)
* [原子性](Appendix-Low-Level-Concurrency.md#原子性)
* [临界区](Appendix-Low-Level-Concurrency.md#临界区)
* [库组件](Appendix-Low-Level-Concurrency.md#库组件)
* [本章小结](Appendix-Low-Level-Concurrency.md#本章小结)

### [附录:新 IO](Appendix-New-IO.md)

* [ByteBuffer](Appendix-New-IO.md#ByteBuffer)
* [数据转换](Appendix-New-IO.md#数据转换)
* [基本类型获取](Appendix-New-IO.md#基本类型获取)
* [视图缓冲区](Appendix-New-IO.md#视图缓冲区)
* [缓冲区数据操作](Appendix-New-IO.md#缓冲区数据操作)
* [ 内存映射文件](Appendix-New-IO.md#-内存映射文件)
* [文件锁定](Appendix-New-IO.md#文件锁定)

### [附录:对象序列化](Appendix-Object-Serialization.md)

* [查找类](Appendix-Object-Serialization.md#查找类)
* [控制序列化](Appendix-Object-Serialization.md#控制序列化)
* [使用持久化](Appendix-Object-Serialization.md#使用持久化)
* [XML](Appendix-Object-Serialization.md#XML)

### [附录:对象传递和返回](Appendix-Passing-and-Returning-Objects.md)

* [传递引用](Appendix-Passing-and-Returning-Objects.md#传递引用)
* [本地拷贝](Appendix-Passing-and-Returning-Objects.md#本地拷贝)
* [控制克隆](Appendix-Passing-and-Returning-Objects.md#控制克隆)
* [不可变类](Appendix-Passing-and-Returning-Objects.md#不可变类)
* [本章小结](Appendix-Passing-and-Returning-Objects.md#本章小结)

### [附录:编程指南](Appendix-Programming-Guidelines.md)

* [设计](Appendix-Programming-Guidelines.md#设计)
* [实现](Appendix-Programming-Guidelines.md#实现)

### [附录:标准 IO](Appendix-Standard-IO.md)

* [从标准输入中读取](Appendix-Standard-IO.md#从标准输入中读取)
* [将 System.out 转换成 PrintWriter](Appendix-Standard-IO.md#将-Systemout-转换成-PrintWriter)
* [重定向标准 I/O](Appendix-Standard-IO.md#重定向标准-IO)
* [执行控制](Appendix-Standard-IO.md#执行控制)

### [附录:补充](Appendix-Supplements.md)

* [可下载的补充](Appendix-Supplements.md#可下载的补充)
* [通过 Thinking-in-C 来巩固 Java 基础](Appendix-Supplements.md#通过Thinking-in-C来巩固Java基础)
* [Hand-On Java 电子演示文稿](Appendix-Supplements.md#Hand-On-Java-电子演示文稿)

### [附录:C++和 Java 的优良传统](Appendix-The-Positive-Legacy-of-C-plus-plus-and-Java.md)

### [附录:理解 equals 和 hashCode 方法](Appendix-Understanding-equals-and-hashCode.md)

* [equals 规范](Appendix-Understanding-equals-and-hashCode.md#equals规范)
* [哈希和哈希码](Appendix-Understanding-equals-and-hashCode.md#哈希和哈希码)
* [调优 HashMap](Appendix-Understanding-equals-and-hashCode.md#调优-HashMap)

### [术语表](GLOSSARY.md)
