你好,我是杨晓峰。今天这期周末福利,我整理了几本自己在学习和使用 Java 时用过的参考书,把它们分享与你。在专栏里,有不少同学留言让我推荐一些参考书。另外,我认为,书是个好的系统化知识来源,但更多提高还是来源于实践、阅读源码、技术交流等,毕竟书籍也很难完全跟上技术和架构的变革,另外我也尽量缩减了书单的长度。
关于夯实 Java 编程基础,我推荐 Bruce Eckel 的《Java 编程思想》(Thinking in Java),非常有名的经典书籍。这本书的特点是,不仅仅介绍 Java 编程的基础知识点,也会思考编程中的各种选择与判断,包括穿插设计模式的使用,作者从理论到实践意义从不同的角度进行探讨,构建稳固的 Java 编程知识体系。
当然这本书也有不足之处,毕竟每个人的基础不太一样,如果你完全没有 Java 编程基础,也可以考虑其他的参考书,例如 《Java 核心技术》。
另外,这两本书的部分内容已经多少有点过时了,尤其是《Java 编程思想》。例如,目前很少会需要学习 Java 桌面图形类库等,较新的语法和 API 当然也没有包含,我的建议是尽管忽略过时内容,适当补充 Java 新技术的学习。
提到经典,自然也少不了 《Effective Java》,这本书的英文第三版已经在国内上市,涵盖了 Java 7 到 Java 9 的各种新特性。严格来说,这本书不算是一本基础书籍,但当你有一定基础后,还是非常建议通读一下的。关于这本书的阅读,我的建议是边学习边回顾,在吸收书中的经验时,多去想想自己在实际应用中是如何处理的。虽然《Effective Java》的具体章节可能是从某个点出发,但可以说都是对 Java、JVM、面向对象等各种知识的综合运用,对于设计和实现高质量的代码很有帮助。