Java程序员必读的10本书籍

以下列出了10本书,对于任何希望提高Java知识和理解的Java程序员来说都是必不可少的。

如果你是一名程序员,想知道如何提高你对Java的了解或者成为更好的Java开发人员,那你就来对地方了。在本文中,我将分享一些最好的Java书籍。这些书经受住了时间的考验,随着岁月的流逝变得越来越重要。不管你是在2018年读还是计划在2019年读,你总有很多东西要学,这就是为什么我认为它们是有史以来最棒的Java书籍。

就我个人而言,我非常喜欢读书。我的图书馆里有几百本书和电子书。当我还是个孩子的时候,我读了很多漫画,包括《超级突击队》(Super Commando Dhruv),他是我最喜欢的角色,因为他故事中的科学主题,以及他通常是如何凭借自己的大脑、智慧和对科学事实的简单了解打败更强大的敌人的。

当我成为一名程序员时,我对书籍的热情还在继续。除了大学里的教科书,我读的第一本Java书籍是Head first Design Pattern。这本书完全改变了我对Java的知识和对面向对象编程的理解。

直到那时,我才明白这个接口的真正用途。对我来说,它们看起来毫无用处,因为您无法编写代码来执行任何操作。但是,读了这本书之后,我意识到它们在减少程序不同部分之间的耦合方面是多么的棒。

从那时起,我读过很多编程书籍,大部分都与Java有关。今天,我将分享每个Java开发人员都应该阅读的10本最好的Java书籍。即使其中有些知识在现在看来是过时的,可从中学到的大部分内容都会帮助你积累业务知识以及提升自己职业素质。

Java程序员的Top10本书籍

下面是我为Java程序员列出的一些最流行、最重要的书籍。如果您已经做了2到3年的Java程序员,那么您很可能已经读过这些书了。但是,如果你还没有读过,现在是阅读它们的最佳时机。你不会后悔把你的时间和金钱投资在这些书上,因为回报是无限的。

1. Effective Java(有效的Java)

相信这本书出现在第一位,不会有任何意外。约书亚·布洛赫的《有效Java》是有史以来最好的Java书籍。对于任何经验级别的Java程序员来说,这绝对是一本必读的书。你会学到很多关于Java和它的API的知识。

事实上,Joshua Bloch自己就是几个关键Java类和API(例如Java)的作者。lang和Java集合框架,是阅读这本书的充分理由。除此之外,他的写作风格也非常棒。

你可以在海滩上阅读这本书,也可以在旅行中阅读,也可以在办公桌前阅读。这是可怕的。毫无疑问,在阅读这本书之后,您将成为一个更好的Java程序员。

最重要的是,现在有了一个新的有效Java版本,它涵盖了Java 7、8和9,现在读这本书再好不过了。

2. Clean Code

Java程序员的另一个永恒经典是干净的代码。正如标题所示,它教会您编写更好的代码,这是一件非常难学的事情。说实话,学习Java很容易,但是编写更好的Java代码却很难,因为它使用了强大的OOP原则,而这正是本书的精髓之所在。

与约书亚·布洛赫相似,罗伯特·c·马丁(Robert C. Martin)也被称为鲍勃叔叔(Uncle Bob),他是一位优秀的作者,分享了他作为一名软件开发人员的许多经验,教会了你各种编程技术和实践,对你作为程序员的日常工作有很大帮助。

3. Java Concurrency in Practice(Java并发编程实战)

多线程和并发性是Java编程的重要部分。在实践中,没有比Brian Goetz的Java并发更好的书来学习和掌握这个棘手的主题。

尽管这本书只涉及Java 5,但它对于任何认真的Java开发人员来说都是必读的书籍。

有些人可能会发现有些部分有点难以理解,特别是3.5.1到3.5.6节,如果是这样,我建议您通过Heinz Kabutz博士的Java -并发性能课程。这将有助于你更好地理解和理解这些主题。

4. Head First Design Patterns

了解OOP和设计模式对于编写任何Java应用程序都很重要。Head First设计模式是学习这样做的最好的书。

正如我之前说过的,这是我在Java上读过的第一本书,除了教科书。看完这本书,我很感动。这本书教会了我为什么组合比继承更好,以及如何在不修改已经测试过的代码的情况下更改类的运行时行为。

您可能认为这只是另一本旧书,但不必担心,几年前发布了一份关于Java SE 8的更新版本。

如果您认真地学习Java中的设计模式,那么您应该阅读这本书!

5. Spring in Action

对不起,我必须在Java程序员的经典书籍列表中包含一本Spring book, Spring in Action。Spring是有史以来最流行的Java框架,这是了解Spring框架的最好的书,但是——老实说——这本书不仅仅是一本Spring的书。

虽然无法解释,可在阅读了这本书的第4版之后,我对Java和编写更好的代码有了很多的认识。

书中有一个主题,例如JDBC,并解释了JDK哪里出了问题,以及Spring如何纠正错误,例如SQLException,这是一个通用的异常,表示某件事出了问题,但并不确切地指出问题出在哪里,以及如何处理它。

就像Josuha Bloch和Uncle Bob一样,Craig Walls也是一位伟大的作家,通过阅读这本书,你会学到比Spring更多的东西。

6. Test Driven(测试驱动)

自动化测试是一项重要的技能。对于开发人员来说,一切都从单元测试开始。Java从一开始就有幸拥有JUnit,但是仅仅知道这个库并不能使您成为能够编写测试的专业程序员。

它所需要的远不止了解单元测试库(如JUnit或Mockito),这也是这本书的用处所在。如果您认真对待代码质量和编写单元、集成和自动化测试,那么在2018年您将阅读《测试驱动》这本书。

7. The Definitive Guide to Java Performance(Java性能权威指南)

成为更好的Java开发人员的另一个方面是了解JVM、垃圾收集和性能调优。虽然有一些关于这个主题的好书,例如Binu John和Charlie Hunt的Java性能,但是Scott Oaks关于Java性能的权威指南是我最喜欢的。

尽管它只涵盖了JDK 7,但您将了解很多关于性能调优和JVM的知识,这完全证明了您将在这本书中花费的时间和金钱是合理的。

8. Head First Java

有多少人是通过阅读这本书开始学习Java的? 嗯,我就是。在我了解了Head First Design Pattern之后,我也找到了这本书,Head First Java,我非常喜欢读它。我学到了很多Java概念,我的许多误解也被纠正了。

尽管许多人认为这是一本过时的书,但我仍然觉得它是一本非常适合刚开始使用Java的书,因为它独特的风格和内容。

通过阅读本书,您可以轻松了解Java 8、Java 9和Java 10对其他版本的更改。

9. Head First Object-Oriented Analysis and Design(面向对象分析和设计)

在最伟大的Java书籍列表中,这是另一本“Head First”的书。是的,他们简直太棒了。

Head First面向对象的分析和设计为Java程序员形成了“Head First”三部曲,即Head First Java、Head First Design Patterns和Head First OOAD。

它实际上补充了Head First的设计模式,解释了面向对象编程和设计的技术。

我从这本书中学到的最重要的技术是为接口编码,以及如何封装更改。这本书仅仅改变了我编写Java代码的方式。

10. Java: A Beginner's Guide(Java初学者指南)

如果你需要一本全面的Java书,应该就是这个。尽管标题上写着Java:初学者指南,但它是学习Java最完整的书籍之一。

Herbert Schildt先生在保持这本书的最新进展方面也做了一件值得称赞的工作,例如,这本书的第七版现在涵盖了Java 9。

但是,我不知道他将如何保持这本书的最新发展,因为Java从Java 10开始的新的6个月发布周期。

好了! 这些是Java程序员最好的书籍。如果您是一个热情的Java程序员,那么您很可能已经阅读了其中的大部分书籍。但是,如果你还没有读过,那么2018年或许正是阅读这些书的最佳时机。你可以在任何可能的地方选择这本书的最新版本。

原文发布于微信公众号 - 程序你好(codinghello)

原文发表时间:2018-06-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏牛客网

腾讯阿里网易游戏华为科大讯飞面经

4539
来自专栏java一日一条

为什么程序员总是写糟糕的代码?这3个原因

我一下子想到的最明显的原因是,有好的程序员,也有不那么好的程序员,有的人技术水平高,有的人水平却低,有人对这门技艺感兴趣,但也有的人却不愿意在工作之外学习其他。

723
来自专栏PPV课数据科学社区

如果大数据是任何东西……If Big Data Is Anything at All, This Is It

除了我们几个人是第一次听说过“大数据”这个词,我们是在信息技术厂商开着的营销活动以宣传自己的产品和服务的背景下听到它的。正是这种营销活动使得“大数据”这个词取得...

3308
来自专栏老九学堂

【拓展】Hello World你以为你知道?

Hello Wold你造(知道)么?我知道啊,不就是你好世界么。呵呵..... 今天我们来讲讲到底什么才是Hello World!!别在很傻很天真的说你好世界了...

3305
来自专栏程序员互动联盟

学习C++要读那些书

加入编程界已经好几个年头了,也看了一些书,迷失过,总结过,绕过弯路,最后想想,就是因为开始没有指导性的意见。为了让后人不要重蹈覆辙,给大家推荐几本书,好好看看吧...

4147
来自专栏Python中文社区

十本书教你从Pythoner通往Pythonista

1、Python基础教程 本书是经典教程的全新改版,作者根据Python 3.0版本的种种变化,全面改写了书中内容,做到既能“瞻前”也能“顾后”。本书层次鲜明、...

44810
来自专栏程序员互动联盟

为什么C++是最难学的编程语言?

很多已经做了几年的C++程序员已经很自信觉得这门编程语言算是熟悉阶段了,但是当重新对这门语言来个彻底大扫除的时候发现,又有新的语法出现,最糟糕的是之前掌握的很多...

2743
来自专栏程序人生

如何从零开始学一门程序语言?

今天一大早排队挂号给孩子看病,耽搁了,现在才发。 说实话,『能花钱的,就不要花时间』是篇即兴之作,本该随着时间被有限的听众渐渐淡忘。但没想到前有 @老赵 微博转...

3536
来自专栏韩伟的专栏

你真的理解数码技术吗?(一)

第1章 以数字为语言 知识,是人类得以进化到地球生物链顶端的最重要武器。 在远古的地球上,人类为了捕猎动物聚在一起,通过各种奇奇怪怪的大呼小叫和指手画脚来商量战...

2884
来自专栏算法channel

哪些算法和数据结构是程序员需要掌握的?

作为一名程序员,大家有没有想过:编码最本质的知识是什么?算法和数据结构或许是,至少很多人这么认为。很多程序员也意识到了算法和数据结构的重要性,下定决心花力气学习...

1250

扫码关注云+社区

领取腾讯云代金券