程序员书库(ID:OpenSourceTop) 编译

链接:https://dzone.com/articles/20-books-java-programmers-should-read-in-2018


转眼2018年已经进入下半年了,如果你正在考虑学习新事物或想要提高自己的Java基础知识,那么阅读书籍绝对可以帮助您。今天,我将分享一些读过的Java书籍。


这些书籍涵盖Java 8,Java 9,Spring 5,Groovy,Scala,Hibernate,Spring,Agile,Scrum,微服务,算法以及J对Java开发者很重要的书籍。当然,你不要阅读所有的书籍,你只需选择几本你十分感兴趣的用心去读就可以了


1、《Java 8 实战》



这本书我在2016年就已经入手了,学习JDK 8的功能时都是靠它,如果你还没开始使用JDK 8,那么,2018年不要在错过它了。本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。


2、《Clean Architecture》



不得不说Bob叔写的书真的很棒,我已经读完了他的《代码整洁之道》,这本书主要讲述了如何构建干净的架构,它可以让你了解到软件架构师需要做什么,以及实现它的核心理念是什么,这本书对于软件架构师、系统分析师、系统设计师和软件管理人员来说都是必不可少的一本书


3、 《算法图解》



这同样是一本非常不错的书籍,虽然它在算法和数据结构的讲解上不算深入,但所涵盖的内容都是十分有趣并且十分实用的,而且是通过现代的例子讲解,比如里面就有个例子是讲解Facebook是如何存储其用户信息的,总之,他是一本非常适合想要学习算法的初学者


4、《微服务设计》



如今,每个人都在谈论微服务,但它们到底是什么呢?微服务架构相较于单体架构的主要优势是什么呢?本书就是为了告诉你这些问题的答案的。本书全面介绍了微服务的建模、集成、测试、部署和监控,通过一个虚构的公司讲解了如何建立微服务架构。


5、《软技能》



许多程序员忽略的一件事是软技能,例如电子邮件写作,专注于职业发展和提升自己。这是约翰·索梅兹(John Sonmez)写的一本很好的书,如果你觉得自己在职业生涯中很迷茫,或者想在2018年给它一个提升,那么这本书应该是你应该阅读的。


6、 《自己动手设计数据库》



这是我找到的有关数据库设计的最好的书籍之一,如果您对学习数据库设计感兴趣或想要改进数据库建模,这本身了一个很好的途径。


7、《 Making Java Groovy》



2017年,我才开始接触Groovy,这是我第一本学习它的书,如果你决定在2018年学习Groovy,本书将会从Java程序员的角度提供了一个很好的Groovy基础。


8、《Groovy in Action》



这是我在2017年阅读Groovy 的第二本书。虽然《Make Java Groovy》作为入门的书籍是非常不错的选择,但它并不全面,一旦你学习了Groovy的基础知识并编写了几个Groovy脚本,你就需要学习更高级的内容,而这本书就是你所需要的


9、《 TCP/IP 详解》



这是我最不喜欢的书籍之一,但是不得不承认这本书非常有用,直到现在我还没有读完它,但是你务必去深入阅读以下这本书


10、 《UML 精粹》



去年由于工作的原因,我不得不写几个UML图表,这是我阅读的关于UML的第一本书,它却是刷新了我对UML的认知,如果你决定学习UML一定要读这而本书


11、 《Hibernate Tips》



这是一位名叫Thorben Janssen的博客作者撰写的最实用的Java书籍之一,本书为Hibernate提供了70个实用技巧。如果你已经在使用Hibernate了,那么这些技巧可以更好的提高你的能力。


12、《敏捷开发的艺术》



这本书我已经读过很多次了,但时不时仍然需要它的帮助,这本书为敏捷的计划、开发、交付和管理提供了严谨的建议,这些建议来自于作者多年的极限编程(Extreme Programming,XP)经验。


13、 《Scrum精髓》



短短几年时间,Scrum跃升为敏捷首选方法,在全球各地得以普遍应用。针对如何用好、用巧这个看似简单的框架,本书以通俗易懂的语言、条理清晰的脉络阐述和提炼出Scrum的精髓。不过它只适用于小型团队,如果你需要远程管理一个庞大而分散的大型团队时,它就会十分局限


14、 《Java Performance Companion》



我过去曾阅读过几本Java性能调优书,例如Java性能权威指南,但是通过这本书我深入了解了Java G1垃圾收集器,如果你2018年的学习重点是Java性能调优,那么本书就是一个很好的起点。


15、《 High-Performance Java Persistence》



这是另一本关于Hibernate的好书,专注于性能分析方面。


16、《 Scala 函数式编程》



函数式编程(FP)是一种软件开发风格,它注重不依赖于编程状态的函数。2017年,我花了不少时间去学习Scala,Scala是一种能很好支持函数式编程的新兴JVM语言,但却没有取得很大的成果,其中一个原因是我没有在任何项目中用到它,如果你打算在下半年学习Scala,那么,你可以看看这本书


17、《快学 Scala》



这是关于Scala的另外一本书。作者是Cay S. Horstmann,本书从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。实际上手的操作,清晰定义的能力层次,从初级到专家级,全程指导。


18、《深入浅出 JavaScript》



我以前说过这个,但JavaScript现在是排名第一的编程语言,如果你不了解JavaScript,你会错过很多。Head First JavaScript是一本必读书籍,适用于Web开发工作以及Angular,React和jQuery等学习框架。如果你还没有学习JavaScript,那么没有比Head First JavaScript更好的书了。


19、 《SQL CookBook



SQL是我最喜欢的技术,我一直在寻找一本关于SQL的有趣书籍。最终找到了这本。这是一本关于SQL的非常实用的书,它教你很多关于在不同数据库中使用SQL的好建议。如果你想提高SQL技能,那你可以试试读这本书


20、《 The Complete Software Developer's Career Guide》



这对每个软件开发人员来说都是一本好书。如果你对自己的职业生涯很认真,并希望它在下半年能有更好的发展,那么这本书应该是你应该阅读的。本书涉及了软件工程中关于工作关系处理,着装,如何学习等方方面面。