一些针对 Java 程序员的最佳书籍,从核心 Java 到最佳实践,从单元测试到 Spring 框架。
历史上排名前 10 位的 Java 书籍
事不宜迟,这里是我列出的一些对 Java 程序员来说最流行和最重要的书籍。
如果您从事 Java 编程 2 到 3 年,那么您很有可能已经阅读过这些书籍。但是,如果您还没有,那么现在是阅读它们的最佳时机。
我 100% 确信,您不会后悔在这些书上投入时间和金钱,因为您将学到的东西比未来几年更有价值。
1.有效的Java
这里不应该有任何惊喜。 有效的Java Joshua Bloch 是有史以来最好的 Java 书籍。对于任何经验水平的 Java 程序员来说,这绝对是一本必读的书。您将学到很多关于 Java 及其 API 的知识,超出您的想象。
约书亚布洛赫本人是几个关键的Java类和API,像笔者的事实java.lang
和Java集合框架,是足够的理由来读这本书。除此之外,他的写作风格也很棒。
您可以在海滩上、旅行时或就在办公桌前阅读这本书。这很棒。毫无疑问,读完这本书,你会成为更好的 Java 程序员。
最棒的是,Effective Java的新版本现已推出,涵盖 Java 7、8 和 9。现在是阅读本书的最佳时机。
2. 干净的代码
Java 程序员的另一个永恒经典是清洁代码。正如标题所暗示的,它教你编写更好的代码,这是一件很难学的事情。
老实说,学习 Java 很容易,但很难编写使用强大的OOP 原则的更好的 Java 代码,而这正是本书提供帮助的地方。
与 Joshua Bloch 类似,Robert C. Martin,也被称为 Uncle Bob,是一位优秀的作家,他分享了他作为软件开发人员的许多经验,教您各种编程技术和实践,这些技术和实践对您的日常工作有很大帮助作为程序员的工作。
如果您关注 Clean Code,Pluarlsight 上还有一门名为Clean Code: Cory House为人类编写代码的课程,它有效地补充了本书。
顺便说一句,您需要 Pluralsight 会员才能访问这门课程,费用约为每月 29 美元或每年 299 美元(14% 折扣)。
如果您没有Pluralsight 会员资格,我鼓励您加入,因为它允许您访问他们的 5000 多个在线课程,涵盖所有最新主题,如前端和后端开发、机器学习等。
它还包括交互式测验、练习和最新的认证材料。
它更像是面向软件开发人员的 Netflix,由于学习是我们工作的重要组成部分,Plurlasight 会员资格是保持竞争优势的好方法。
他们还提供为期10 天的免费试用,无需任何承诺,这不仅是免费访问本课程的好方法,也是在加入 Pluralsight 之前检查课程质量的好方法。
3. Java 并发实践
多线程和并发是 Java 编程的重要组成部分。没有比 Brian Goetz 的Java Concurrency in Practice更好的书来学习和掌握这个棘手的话题了。
尽管这本书只涵盖了 Java 5,但对于任何认真的 Java 开发人员来说,它仍然是相关的和必读的书籍。
你们中的一些人可能会发现有些部分有点难以理解,尤其是第 3.5.1 到 3.5.6 部分,如果是这样,我建议你阅读Heinz Kabutz 博士的Extreme Java — 并发性能课程. 这将帮助您更好地消化和理解这些主题。
4. Head First 设计模式
良好的 OOP 和设计模式知识对于编写任何 Java 应用程序都很重要。Head First Design Patterns是学习这样做的最佳书籍。
正如我之前所说,这是我读过的第一本关于 Java 的书籍,除了教科书。读完这本书,我印象非常深刻。
这本书教会了我为什么组合比继承更好,以及如何在不触及已经尝试和测试过的代码的情况下更改类的运行时行为。
您可能认为这只是另一本旧书,但您不必担心,涵盖Java SE 8的更新副本已于几年前发布。
如果您认真学习 Java 中的设计模式,那么这本书是您应该阅读的!
Pluralsight 上的设计模式库课程也是一个很好的资源,可以让您熟悉 Java 和面向对象编程中的基本设计模式。你可以跟着本书一起学习这门课程,以获得两全其美的效果。
5. 春天在行动
抱歉,我必须在这个 Java 程序员经典书籍列表中包含一本 Spring 书籍,Spring in Action。Spring 是有史以来最流行的 Java 框架,这是了解 Spring 框架的最佳书籍,但是 - 老实说 - 这本书不仅仅是一本 Spring 书籍。
读完本书的第 4 版后,我对 Java 有了很多了解,并且写出了我无法开始解释的更好的代码。
这些书采用了一个主题,例如 JDBC,并解释了 JDK 哪里出了问题以及 Spring 如何纠正该错误,例如 SQLException,这是一个千篇一律的异常,它说明有问题,但不完全是什么问题或如何处理那。
与 Josuha Bloch 和 Bob 叔叔一样,Craig Walls 也是另一位伟大的作家,通过阅读本书,您将学到的不仅仅是 Spring。
好消息是,现在第5 版 Spring in Action也已上市,这是我阅读清单中的一本书。
顺便说一句,如果你的目标是学习 Spring,我还建议你参加一个很棒的在线课程,比如Spring Framework 5: Beginner to Guru以及这本书。与许多尝试自学的开发人员相比,您将学得更快、更好。
6. 试驾
自动化测试是一项重要的技能。对于开发人员来说,这一切都始于单元测试。Java 从一开始就很幸运拥有 JUnit,但仅仅了解该库并不能使您成为可以编写测试的专业程序员。
它需要的不仅仅是了解一个单元测试库,比如JUnit或Mockito,而这正是本书提供帮助的地方。如果您对代码质量和编写单元、集成和自动化测试很认真,那么Test Driven是 2018 年值得阅读的书。
如果我们谈论库,JUnit 和 Mockito 是任何 Java 开发人员必备的。如果您不熟悉它们,我建议您与上述书籍一起阅读这本JUnit 和 Mockito 速成课程,以掌握 Java 单元测试的艺术。
7. Java 性能权威指南
成为更好的 Java 开发人员的另一个方面是了解 JVM、垃圾收集和性能调优。
坊间有关于这一主题的几个好书,例如Java性能的BINU约翰和查理·亨特,Java性能方面的权威指南由斯科特·奥克斯是我的最爱。
尽管它只涵盖到 JDK 7,但您将学到很多关于性能调优和一般JVM的知识,这完全证明了您在本书上花费的时间和金钱是合理的。
8. 以 Java 为先
有多少人是通过阅读本书开始学习 Java 的?嗯,我做到了。就在我了解了Head First Design Pattern 之后,我还找到了这本书Head First Java,我真的很喜欢读它。我学到了很多Java概念,我的许多误解也得到了纠正。
尽管许多人认为这是一本过时的书,但我仍然认为它对于刚开始接触 Java 的人来说是一本很棒的书,因为它具有独特的风格和内容。
通过阅读本书了解 Java 后,您可以轻松了解Java 8、Java 9和Java 10在其他版本上的变化。
顺便说一句,如果您喜欢在线课程并寻找一些最好的 Java 课程来开始您的旅程,那么Udemy 上的 Java MasterClass就是最新的和最好的入门课程。
9. Head First 面向对象的分析和设计
这是最伟大的 Java 书籍列表中的另一本“Head First”书籍。是的,他们简直太棒了。
Head First Object-Oriented Analysis and Design构成了面向 Java 程序员的“Head First”书籍的三部曲,即Head First Java、 Head First Design Patterns和Head First OOAD。
它实际上通过解释面向对象的编程和设计技术来补充Head First Design Patterns。
我从这本书中学到的最重要的技术是为接口编码以及如何封装变化。这本书只是改变了我编写 Java 代码的方式。
如果您喜欢课程,Steve Smith 在 Pluralsight 上的面向对象设计的SOLID 原则非常棒,您可以在本书中遵循这些原则,以更好地理解面向对象的设计原则。
10. Java:初学者指南
如果您需要一本全面的 Java 书籍,这应该是它。尽管书名是Java: A Beginner's Guide,但它是学习 Java 的最完整的书籍之一。
Herbert Schildt 爵士在保持本书更新方面也做了值得称道的工作,例如本书的第 7 版现在涵盖了 Java 9。
不过,我不知道他将如何让这本书保持最新,因为 Java 新的 6 个月发布周期是从 Java 10 开始的。
顺便说一句,他们已经发布了一个补充来涵盖JDK 10 的新特性。我认为这将是前进的方向。
给你!这些是 Java 程序员最好的书籍。如果您是一位热情的 Java 程序员,那么您很有可能已经阅读了这些书籍的大部分内容。