# Thinking-in-Java
**Repository Path**: zhuyan005/Thinking-in-Java
## Basic Information
- **Project Name**: Thinking-in-Java
- **Description**: No description available
- **Primary Language**: 其他
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-06-28
- **Last Updated**: 2021-09-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## Thinking in Java (Java 编程思想)
对于一个开发者而言,能够胜任系统中任意一个模块的开发是其核心价值的体现。
对于一个架构师而言,掌握各种语言的优势并可以运用到系统中,由此简化系统的开发,是其架构生涯的第一步。
对于一个开发团队而言,能在短期内开发出用户满意的软件系统是起核心竞争力的体现。
每一个程序员都不能固步自封,要多接触新的行业,新的技术领域,突破自我。
本书来自网络,[全科-不安分的码农](http://quanke.name)整理成电子书,支持PDF,ePub,Mobi格式,方便大家下载阅读。
- [阅读地址](https://alleniverson.gitbooks.io/thinking-in-java/content/)
- [下载地址](https://www.gitbook.com/book/alleniverson/thinking-in-java/details)
- [github地址](https://github.com/JackChen1999/think-in-java)
- [GitBook](https://www.gitbook.com/@alleniverson)
第13章没有编辑,觉得没有意义,Java的GUI现在应用少,有时间再编辑好
## 目录
* [前言](README.html)
* [写在前面的话](写在前面的话.html)
* [引言](引言.html)
* [第1章 对象入门](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/第1章%20对象入门.html)
* [1.1 抽象的进步](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.1%20抽象的进步.html)
* [1.2 对象的接口](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.2%20对象的接口.html)
* [1.3 实现方案的隐藏](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.3%20实现方案的隐藏.html)
* [1.4 方案的重复使用](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.4%20方案的重复使用.html)
* [1.5 继承:重新使用接口](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.5%20继承:重新使用接口.html)
* [1.6 多形对象的互换使用](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.6%20多形对象的互换使用.html)
* [1.7 对象的创建和存在时间](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.7%20对象的创建和存在时间.html)
* [1.8 违例控制:解决错误](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.8%20违例控制:解决错误.html)
* [1.9 多线程](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.9%20多线程.html)
* [1.10 永久性](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.10%20永久性.html)
* [1.11 Java和因特网](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.11%20Java和因特网.html)
* [1.12 分析和设计](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.12%20分析和设计.html)
* [1.13 Java还是C++](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter1/1.13%20Java还是C++.html)
* [第2章 一切都是对象](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/第2章%20一切都是对象.html)
* [2.1 用句柄操纵对象](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.1%20用句柄操纵对象.html)
* [2.2 所有对象都必须创建](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.2%20所有对象都必须创建.html)
* [2.3 绝对不要清除对象](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.3%20绝对不要清除对象.html)
* [2.4 新建数据类型:类](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.4%20新建数据类型:类.html)
* [2.5 方法、自变量和返回值](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.5%20方法、自变量和返回值.html)
* [2.6 构建Java程序](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.6%20构建Java程序.html)
* [2.7 我们的第一个Java程序](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.7%20我们的第一个Java程序.html)
* [2.8 注释和嵌入文档](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.8%20注释和嵌入文档.html)
* [2.9 编码样式](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.9%20编码样式.html)
* [2.10 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.10%20总结.html)
* [2.11 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter2/2.11%20练习.html)
* [第3章 控制程序流程](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter3/第3章%20控制程序流程.html)
* [3.1 使用Java运算符](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter3/3.1%20使用Java运算符.html)
* [3.2 执行控制](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter3/3.2%20执行控制.html)
* [3.3 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter3/3.3%20总结.html)
* [3.4 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter3/3.4%20练习.html)
* [第4章 初始化和清除](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter4/第4章%20初始化和清除.html)
* [4.1 用构建器自动初始化](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter4/4.1%20用构建器自动初始化.html)
* [4.2 方法过载](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter4/4.2%20方法过载.html)
* [4.3 清除:收尾和垃圾收集](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter4/4.3%20清除:收尾和垃圾收集.html)
* [4.4 成员初始化](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter4/4.4%20成员初始化.html)
* [4.5 数组初始化](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter4/4.5%20数组初始化.html)
* [4.6 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter4/4.6%20总结.html)
* [4.7 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter4/4.7%20练习.html)
* [第5章 隐藏实施过程](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter5/第5章%20隐藏实施过程.html)
* [5.1 包:库单元](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter5/5.1%20包:库单元.html)
* [5.2 Java访问指示符](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter5/5.2%20Java访问指示符.html)
* [5.3 接口与实现](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter5/5.3%20接口与实现.html)
* [5.4 类访问](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter5/5.4%20类访问.html)
* [5.5 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter5/5.5%20总结.html)
* [5.6 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter5/5.6%20练习.html)
* [第6章 类再生](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/第6章%20类再生.html)
* [6.1 合成的语法](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.1%20合成的语法.html)
* [6.2 继承的语法](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.2%20继承的语法.html)
* [6.3 合成与继承的结合](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.3%20合成与继承的结合.html)
* [6.4 到底选择合成还是继承](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.4%20到底选择合成还是继承.html)
* [6.5 protected](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.5%20protected.html)
* [6.6 累积开发](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.6%20累积开发.html)
* [6.7 上溯造型](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.7%20上溯造型.html)
* [6.8 final关键字](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.8%20final关键字.html)
* [6.9 初始化和类装载](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.9%20初始化和类装载.html)
* [6.10 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.10%20总结.html)
* [6.11 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter6/6.11%20练习.html)
* [第7章 多形性](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/第7章%20多形性.html)
* [7.1 上溯造型](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.1%20上溯造型.html)
* [7.2 深入理解](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.2%20深入理解.html)
* [7.3 覆盖与过载](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.3%20覆盖与过载.html)
* [7.4 抽象类和方法](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.4%20抽象类和方法.html)
* [7.5 接口](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.5%20接口.html)
* [7.6 内部类](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.6%20内部类.html)
* [7.7 构建器和多形性](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.7%20构建器和多形性.html)
* [7.8 通过继承进行设计](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.8%20通过继承进行设计.html)
* [7.9 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.9%20总结.html)
* [7.10 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter7/7.10%20练习.html)
* [第8章 对象的容纳](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/第8章%20对象的容纳.html)
* [8.1 数组](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/8.1%20数组.html)
* [8.2 集合](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/8.2%20集合.html)
* [8.3 枚举器(反复器)](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/8.3%20枚举器(反复器).html)
* [8.4 集合的类型](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/8.4%20集合的类型.html)
* [8.5 排序](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/8.5%20排序.html)
* [8.6 通用集合库](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/8.6%20通用集合库.html)
* [8.7 新集合](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/8.7%20新集合.html)
* [8.8 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/8.8%20总结.html)
* [8.9 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter8/8.9%20练习.html)
* [第9章 违例差错控制](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/第9章%20违例差错控制.html)
* [9.1 基本违例](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.1%20基本违例.html)
* [9.2 违例的捕获](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.2%20违例的捕获.html)
* [9.3 标准Java违例](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.3%20标准Java违例.html)
* [9.4 创建自己的违例](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.4%20创建自己的违例.html)
* [9.5 违例的限制](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.5%20违例的限制.html)
* [9.6 用finally清除](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.6%20用finally清除.html)
* [9.7 构建器](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.7%20构建器.html)
* [9.8 违例匹配](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.8%20违例匹配.html)
* [9.9 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.9%20总结.html)
* [9.10 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter9/9.10%20练习.html)
* [第10章 Java IO系统](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/第10章%20Java%20IO系统.html)
* [10.1 输入和输出](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.1%20输入和输出.html)
* [10.2 增添属性和有用的接口](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.2%20增添属性和有用的接口.html)
* [10.3 本身的缺陷:RandomAccessFile](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.3%20本身的缺陷:RandomAccessFile.html)
* [10.4 File类](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.4%20File类.html)
* [10.5 IO流的典型应用](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.5%20IO流的典型应用.html)
* [10.6 StreamTokenizer](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.6%20StreamTokenizer.html)
* [10.7 Java 1.1的IO流](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.7%20Java%201.1的IO流.html)
* [10.8 压缩](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.8%20压缩.html)
* [10.9 对象序列化](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.9%20对象序列化.html)
* [10.10 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.10%20总结.html)
* [10.11 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter10/10.11%20练习.html)
* [第11章 运行期类型鉴定](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter11/第11章%20运行期类型鉴定.html)
* [11.1 对RTTI的需要](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter11/11.1%20对RTTI的需要.html)
* [11.2 RTTI语法](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter11/11.2%20RTTI语法.html)
* [11.3 反射:运行期类信息](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter11/11.3%20反射:运行期类信息.html)
* [11.4 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter11/11.4%20总结.html)
* [11.5 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter11/11.5%20练习.html)
* [第12章 传递和返回对象](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter12/第12章%20传递和返回对象.html)
* [12.1 传递句柄](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter12/12.1%20传递句柄.html)
* [12.2 制作本地副本](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter12/12.2%20制作本地副本.html)
* [12.3 克隆的控制](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter12/12.3%20克隆的控制.html)
* [12.4 只读类](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter12/12.4%20只读类.html)
* [12.5 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter12/12.5%20总结.html)
* [12.6 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter12/12.6%20练习.html)
* [第13章 创建窗口和程序片](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter13/第13章%20创建窗口和程序片.html)
* [第14章 多线程](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter14/第14章%20多线程.html)
* [14.1 反应灵敏的用户界面](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter14/14.1%20反应灵敏的用户界面.html)
* [14.2 共享有限的资源](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter14/14.2%20共享有限的资源.html)
* [14.3 堵塞](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter14/14.3%20堵塞.html)
* [14.4 优先级](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter14/14.4%20优先级.html)
* [14.5 回顾runnable](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter14/14.5%20回顾runnable.html)
* [14.6 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter14/14.6%20总结.html)
* [14.7 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter14/14.7%20练习.html)
* [第15章 网络编程](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/第15章%20网络编程.html)
* [15.1 机器的标识](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.1%20机器的标识.html)
* [15.2 套接字](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.2%20套接字.html)
* [15.3 服务多个客户](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.3%20服务多个客户.html)
* [15.4 数据报](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.4%20数据报.html)
* [15.5 一个Web应用](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.5%20一个Web应用.html)
* [15.6 Java与CGI的沟通](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.6%20Java与CGI的沟通.html)
* [15.7 用JDBC连接数据库](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.7%20用JDBC连接数据库.html)
* [15.8 远程方法](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.8%20远程方法.html)
* [15.9 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.9%20总结.html)
* [15.10 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter15/15.10%20练习.html)
* [第16章 设计范式](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/第16章%20设计范式.html)
* [16.1 范式的概念](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.1%20范式的概念.html)
* [16.2 观察器范式](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.2%20观察器范式.html)
* [16.3 模拟垃圾回收站](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.3%20模拟垃圾回收站.html)
* [16.4 改进设计](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.4%20改进设计.html)
* [16.5 抽象的应用](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.5%20抽象的应用.html)
* [16.6 多重派遣](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.6%20多重派遣.html)
* [16.7 访问器范式](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.7%20访问器范式.html)
* [16.8 RTTI真的有害吗](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.8%20RTTI真的有害吗.html)
* [16.9 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.9%20总结.html)
* [16.10 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter16/16.10%20练习.html)
* [第17章 项目](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter17/第17章%20项目.html)
* [17.1 文字处理](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter17/17.1%20文字处理.html)
* [17.2 方法查找工具](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter17/17.2%20方法查找工具.html)
* [17.3 复杂性理论](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter17/17.3%20复杂性理论.html)
* [17.4 总结](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter17/17.4%20总结.html)
* [17.5 练习](https://alleniverson.gitbooks.io/thinking-in-java/content/chapter17/17.5%20练习.html)
* [附录A 使用非JAVA代码](https://alleniverson.gitbooks.io/thinking-in-java/content/附录/附录A%20使用非JAVA代码.html)
* [附录B 对比C++和Java](https://alleniverson.gitbooks.io/thinking-in-java/content/附录/附录B%20对比C++和Java.html)
* [附录C Java编程规则](https://alleniverson.gitbooks.io/thinking-in-java/content/附录/附录C%20Java编程规则.html)
* [附录D 性能](https://alleniverson.gitbooks.io/thinking-in-java/content/附录/附录D%20性能.html)
* [附录E 关于垃圾收集的一些话](https://alleniverson.gitbooks.io/thinking-in-java/content/附录/附录E%20关于垃圾收集的一些话.html)
* [附录F 推荐读物](https://alleniverson.gitbooks.io/thinking-in-java/content/附录/附录F%20推荐读物.html)
## [Java编程思想视频教程](https://itvedios.github.io/2017/11/29/后端开发/Java/猎豹网校Java编程思想视频教程/)



## 关注我
- Email:<619888095@qq.com>
- CSDN博客:[Allen Iverson](http://blog.csdn.net/axi295309066)
- 新浪微博:[AndroidDeveloper](http://weibo.com/u/1848214604?topnav=1&wvr=6&topsug=1&is_all=1)
- GitHub:[JackChan1999](https://github.com/JackChan1999)
- GitBook:[alleniverson](https://www.gitbook.com/@alleniverson)
- 个人博客:[JackChan](https://jackchan1999.github.io/)
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
| 微信赞赏支持 | 支付宝赞赏支持 |
| :--------------------------------------: | :--------------------------------------: |
|
|
|