大家好,如果你是一名 Java 程序员,正在考虑 2018 年读什么书,那么这篇文章正适合你。本文中,我将分享 10 本有关 Java、Spring 及其他相关技术的书籍。 这里面既有适合经验丰富的 Java 程序员的书,它们介绍了架构、云开发、微服务、Java 9、Spring 5,以及用于提高生产效率的 Kotlin。同时也照顾到了初级的、缺乏经验的、或正打算 2018 年开始入门 Java 的新手。
同时,我也介绍了一些在 2018 年学习 Java 9 的书籍。有些已经针对 Java SE 9 全面更新,比如 《写给大忙人看的Java SE 9》和 《Java 9 编程入门官方教程》。
如果你刚开始学习 Java 或者正打算要学,这些书都非常适合。不推荐读旧版本的书来入门,除非是《Head First Java》。
我特别希望《Head First Java》的第三版是一个长期的版本,作者和出版方最好针对 Java 8 和 Java 9 进行全面更新。不过对于入门 Java 的编程小白来说,旧版本的《Head First Java》仍然是一本好书。
我最近添加到这个书单的就是这本今天刚发现的《云原生 Java》。这本书看起来特别棒,它介绍了目前急需的,利用 Spring Boot、Spring Cloud 和 Cloud Foundry 在云上开发 Java 应用的知识。虽然还没读完,但它看起来特别棒。
2018 年可以用来提升 Java 知识技能的书太多了,你不可能把他们都读完。不过有些书你绝对不想错过,比如《Effective Java(第三版)》,我把它放在了书单的最上面。
书单里的书介绍了 Java 9、Spring 5、Kotlin、软件架构、微服务、云以及 Java 8 的一些特性。
这个书单不是很长,但里面的书都很棒,都挺适合在上下班路上读。
1. 《Effective Java(第三版)》(Effective Java 3rd Edition)
如果你还没读过这本书,那它绝对是 2018 年你必须读的第一本书。第三版是一个长期版本,其实它早就该出版了。这版书也囊括了 JDK 7、8、9 的新特性。
我在 1 月份的第一个星期就拿到了这本书,它绝对是约书亚·布洛克(Joshua Bloch)给 Java 程序员最好的新年礼物。
我花了大概一个星期就读完了这本书。我发现读的过程中,时常碰到新的知识点,特别是关于 Java 8 和 Java 9 的。
我从这本书中学到了 Java 的模块化,它也帮我理顺了之前对于 Java 8 的一些误解。
2. 《现代 Java 开发范例》(Modern Java Recipes)
如果你喜欢范例类型的书,那这本书就很不错。就像简介里提到的,这本书提供了解决 Java 8 和 Java 9 中一些难题的简单方案。
你会学到如何使用 Java 8 的 lambda 表达式、方法引用以及 Stream API 写代码。
如果你想通过手册和范例来学习 Java 8 和 Java 9 ,这本书就很完美。
3. 《Java 9 模块化》(Java 9 Modularity)
Java 9 的一个亮点就是 Java 的模块化,本书对这部分做了最全面的介绍。
作者桑德斯·马克(Sanders Mak)是 Java 9 模块化的权威。我听过很多他讲 Java 9 的课程,比如在 Pluarlsight 做的《Java 9 模块化及新特性》。我可以保证,读完此书之后,你绝不会后悔。
4. 《写给大忙人看的Java SE 9(第二版)》 (Core Java SE 9 for the Impatient (2nd Edition))
如果你急着学 Java 那我推荐这本书给你。我是凯 S·霍斯特曼 (Cay S. Horstmann)的一个忠实粉丝,他的文采之优美、涉猎之广,都让我很是佩服。
你读了他写的关于 Java 8、Scala 的书以及《Java 核心编程》之后,绝对也会成为他的粉丝。
这本书已经针对 Java SE 9 全面更新。如果你想学习 Java 9,那2018年你应该先读读这本书。
5. 《Java 8入门》(Beginning Java 8 Language Features)
尽管已经发布快 4 年了,仍然有很多 Java 程序员还没有开始使用 Java 8。
如果你是这些人的一员,或者还不是很理解 lambda 表达式、Stream API、Optional 及 Java 8 其他的特性,那你一定要读这本书。
这是一个系列,共有3卷,此卷通俗易懂的讲解了 Java 8 的基础知识。
另外两卷则延伸到 Java 8 的高级特性,比如 JDBC、Swing、 Java FX,以及 Java 网络 API。
6. 《Spring 微服务实战》(Spring Microservices in Action)
软件开发世界正在加速转向微服务架构,它在开发、维护、部署、扩容性及可靠性等方面有很多优势。
感谢 Spring framework 提供这么多开发微服务的 Java 工具,比如 Spring Boot 和 Spring Cloud。
如果你对用 Spring framework 开发微服务有兴趣,那么这本书很适合你。
7. 《架构整洁之道》(Clean Architecture)
我是在2017年读的这本书,特别喜欢。我是罗伯特 C·马丁(Robert C. Martin)的一个忠实粉丝(大家称之为“ Bob 大叔”)。加上之前的《代码整洁之道(Clean Code)》和《代码整洁之道 程序员的职业素养(Clean Coder book)》,这本书完成了代码整洁之道三部曲。
它介绍了如何构建可以经受时间考验的软件架构,还消除了对设计模式和软件架构的一些误解。
如果你是一名经验丰富的 Java 程序员,正想转变为一个方案设计师,那这本书2018年你一定要读完。
8. 《Spring 5 开发范例代码大全》(Spring 5 Recipes: A Problem-Solution Approach)
抛开 JDK 9 不谈,2017年另外一个大的版本更新就是 Spring 5 ,它将响应式编程引入了 Spring 。
既然对 Java 程序员来说, Spring 是无可争议的、最流行的架构,那么学习 Spring 5 让自己紧跟技术潮流,是非常值得的。
我个人非常喜欢目标导向的范例类图书,这也是我为什么选择了这本书用来学习 Spring 5。
它不仅覆盖了 Spring 5 的新特性,也讲了其他早期版本的增强。一句话,它教你如何在 Spring 5 的环境下写代码。
9. 《Kotlin 实战》(Kotlin in Action)
Java 程序员通过学习 Scala、Groovy、Closure 等 JVM 语言来成为一名多语言的开发者是很常见的。而 Kotlin 正是当下的热门。
自从 2017 年 Google 在 Google IO 上宣布将 Kotlin 作为 Android 的官方语言之后,很多人都开始对学习 Kotlin 感兴趣。
更重要的是,它能提高你的生产效率,而且它和 Java 非常相似。因此,如果你想在 2018 年学习一种 JVM 语言,我建议学习 Kotlin。
10. 《Java 9 编程入门官方教程(第七版)》(Java: A Beginner’s Guide, Seventh Edition)
这是另一本从零开始学习 Java 的经典书籍。第七版已经针对 Java SE 9 全面更新。
如果你想在 2018 年开始你的 Java 程序员生涯,这本书可以帮你学到最新版本的 Java。
这本书比书单里的第二本更全面。
11. 《云原生 Java》(Cloud Native Java)
恭喜读到这里的朋友,你们收获了一个彩蛋 ——《云原生 Java》,2018 年最有用的 Java 书籍。
当今的软件开发,大都是关于云、微服务、分布式架构等等。乔氏·隆(Josh Long)和肯尼·巴斯塔尼(Kenny Bastani)在这本书里向 Java/JVM 开发者展示了如何使用 Spring Boot、Spring Cloud 和 Cloud Foundry 构建更好、更快的 Java 应用程序。
对于经验丰富的 Java 开发者来说,它绝对是一本必读书。尽管它介绍了相对高级的内容,我还是强烈推荐每一位 Java 程序员都读一下。
实际上,我还没有读完这本书。但是读完前言之后,我就对所讨论的话题非常感兴趣。我可能在读完之后再写一篇详细的文章。但它绝对值得各位至少读一遍。
这就是 2018 年 Java 程序员可以读的一些有趣、有用的书籍。实话实说,即使是让自己紧跟 Java 世界的技术潮流,比如 Java 9、Sprig 5、微服务、Kotlin 等,也还有一大堆东西等着你去学习。这些书不仅仅更新你的知识,还能让你对一些技术的理解更加深刻。
多谢阅读。如果你喜欢这些书,就把它们分享给你的朋友和同学吧。如果有任何建议,或有书籍想在2018年分享给大家,欢迎留言。
加Java架构师进阶交流群获取Java工程化、高性能及分布式、高性能、深入浅出。高架构。
性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的直播免费学习权限
都是大牛带飞 让你少走很多的弯路的 群号是: 558787436 对了 小白勿进 最好是有开发经验
注:加群要求
1、具有工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。
2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。
3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。
4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。
5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!