java工程师必备书单

程序员黄小斜      2022-04-19     438

关键词:

Java开发工程师一般负责后端开发,当然也有专门做Java Web的工程师,但是随着前后端的分离,越来越多的Java工程师需要往大后端方向发展。

今天我们就来介绍一下Java后端开发者的书单。

首先要感谢一下江南白衣大大的后端书架,让我在初学阶段读到了很多好书,直到现在都印象深刻。

我在两年的学习历程中看了很多的书,其中不乏XXX入门到精通,XXX王者归来,XXX指南什么的。

虽然这类书确实毛病很多,但是作为非科班的我来说,当时还是看的津津有味。直到后来我看到一些优秀的书籍,以及白衣哥的书架,我才逐渐认识到看一些精品书籍的好处。

所以我们今天就从这些精品书籍中挑选一些优秀书籍来推荐给大家,当然其中有一些书我自己也没有时间看完。

接下来我们按照后端技术栈各个部分的内容来推荐书籍。

网络

1 TCP/IP卷一

技术分享图片

这本其实我刚开始没看太懂,可能是当时太水的原因,但是一般是大牛力荐的书。

2 计算机网络:自顶向下

技术分享图片

这本从应用层讲到物理层,感觉这种方式学起来更轻松,我比较推荐小白看这本。

3 图解HTTP和图解TCP/IP

技术分享图片

相较于前两本大厚书,这两本书更加亲民,小白可以买来看看,还是很适合入门的。

4 计算机网络

技术分享图片

没错,就是这本教材,作为非科班选手自己看这本书,那叫一个欲仙欲死啊,看完就忘记了。

操作系统

1 深入理解计算机系统

技术分享图片

这本书不是严格意义上的操作系统书籍,而是对计算机基础和操作系统做了一个串联,可以解决你很多对于计算机的疑惑,并且对操作系统有一定理解。

其实这本书还是很厚的,有一定难度,建议有一些基础后再看。

2 现代操作系统

技术分享图片

这本书其实我没怎么看,比较详细地讲解了操作系,但是也是大家都比较推崇的书,还是那句话,很厚,慎看。

3 Linux内核设计与实现

技术分享图片

当你对操作系统有一定理解以后,这本书将为你打开学习Linux内核的大门,当然在此之前你得有一定的c语言开发能力,以及对Linux的了解。反正,我现在还没开始准备好看这本书。

4 Unix网络编程

技术分享图片

这两本书的厚度绝对让你感到绝望,其实就是讲解了Unix内核是如何实现网络通信的,其中涉及到很多网络,操作系统的知识,并且你要熟悉c语言。总之,这是一本奉为网络编程神书的存在,不过我等新手还是拿他压压泡面就好了。

网上有很多博客会参照该书的内容,可以去看看它们。

数据结构与算法

不瞒你说,由于我非科班,所以算法基础比较差,数据结构是考研时跟着天勤考研指南学的,学习算法也是一路坎坷,举步维艰。还是分享几本比较靠谱的书吧。

1 算法导论

技术分享图片

你问我是不是认真的,我就是说说而已,这本书我买来没看过。

2 数据结构与算法(Java版)

技术分享图片

这本书对于初学者来说还是比较友好的,当然学Java的看这本。

3 算法图解,啊哈算法

技术分享图片

这两部书籍非常适合学习算法的入门,前者主要用图解的形式覆盖了大部分常用算法,包括dp,贪心等等,可以作为入门书,后者则把很多常用算法都进行了实现,包括搜索,图,树等一些比较高级的常用算法。

4 剑指offer

技术分享图片

这本书还是要强烈推荐的,毕竟是面试题经常参考的书籍,当然最好有前面基本的铺垫再看,可能收获更大,这本书在面试之前一般都要嚼烂。

5 LeetCode

这不是一本书,是一个题库,算法么,终究还是要靠刷题来提升熟练度的。

Java基础

1 Java编程思想

技术分享图片

这本书也是被誉为Java神书的存在了,但是对新手不友好,适合有些基础再看,当然要选择性地看。我当时大概只看了1/3

2 Java核心技术卷一

技术分享图片

这本书还是比较适合入门的,当然,这种厚皮书要看完还是很有难度的,不过比起上面那本要简单一些

Java进阶

1 深入理解JVM虚拟机

技术分享图片

这本书是Java开发者必须看的书,很多jvm的文章都是提取这本书的内容。JVM是Java虚拟机,赋予了Java程序生命,所以好好看看把,我自己就已经看了三遍了。

2 Java并发编程实战

技术分享图片

这本书是Java 并发包作者写的书,所以非常权威,但是比较晦涩难懂,我看的云里雾里的,大家可以按需选择。

3 Java并发编程艺术

技术分享图片

这本书是国内作者写的Java并发书籍,比上面那一本更简单易懂,适合作为并发编程的入门书籍,当然,学习并发原理之前,还是先把Java的多线程搞懂吧。

4 Effective Java

技术分享图片

这本书和Java编程思想一样被称为神书,主要讲的是Java的一些优化技巧和规范,没有一定开发经验的人看这本书会觉得索然无味,不知所云,所以,先搁着吧。

5 Java性能调优指南

技术分享图片

说到JVM调优,可能会有很多的面试题浮现在你的脑海里,这本书比较权威地讲解了Java的性能调优方法,不过我还没怎么看,有空好好看看。

6 Netty权威指南

技术分享图片

Netty是基于NIO开发的网络编程框架,使用Java代码编程,其实这本书也可以放在网络或者Java Web部分。不过NIO属于JDK自带的一部分,是必须要掌握的,而对于Netty,大家如果学有余力的话也可以看看。

JavaWeb

0 深入JavaWeb技术内幕

技术分享图片

这本书是Java Web的集大成之作,涵盖了大部分Java Web开发的知识点,不过一本书显然无法把所有细节都讲完,但是作为Java Web的入门或者进阶书籍来看的话还是很不错的。

1 How Tomcat Works

技术分享图片

Java Web很重要的一部分内容就是Tomcat,作为应用服务器,Tomcat使用Java开发,其源代码和架构设计都是经典之作。

这是一本讲解Tomcat基本原理的书籍,很好地通过剖析源码来讲解Tomcat的内部结构和运行机制,但是需要一定的基础才能够看懂,我还没看这本书,日后再拜读。

2 Tomcat架构解析

技术分享图片

和上面这本书类似,主要讲解Tomcat原理和架构,,要看懂这本书的话,前提是你要对Java基础,NIO以及设计模式有所了解。这本书我也还没看。

3 Spring实战

技术分享图片

这本书适合作为Spring的入门书籍,把Spring的概念,使用方式等内容都讲的比较清楚。并且也介绍了Spring MVC的部分内容,Spring框架还是更注重实践的,所以跟着书上的内容去做吧。

4 Spring源码深度解析

技术分享图片

学会Spring基础后,可以花点时间看看这本讲源码的书了,这本书对于新手来说不太友好,主要也是因为Spring的代码结构比较复杂,大家也可以看一些博客来完成对源码的学习。

5 Spring MVC学习指南

技术分享图片

本书是一本Spring MVC的教程,内容细致、讲解清晰,非常适合Web开发者和想要使用Spring MVC开发基于Java的Web应用的读者阅读。但是由于出的比较早,所以不太适合现在版本。

6 Maven实战

技术分享图片

Maven是Java Web开发中不可缺少的一部分,如果想要全面了解其实现原理的话,可以看看这本书。

数据库

0 数据库原理

数据库原理应该是教材吧,这本书作为数据库入门来说还是可以的,毕竟不是专门做DB的,看大厚书用处不大,这本书把数据库的基本概念都讲完了。

1 sql必知必会

技术分享图片

这本书主要是讲解sql语句怎么写,毕竟数据库最重要的一点就是要熟练地使用sql语句,当然这本书也可以当做工具书来使用。

2 深入浅出MySQL

技术分享图片

这本书适合作为MySQL的学习书籍,当你有了一定的MySQL使用经验后,可以看看它,该书从数据库的基础、开发、优化、管理维护和架构5个方面对MySQL进行了详细的介绍,讲的不算特别深,但是足够我们使用了。这本书我也只看了一部分。

3 MySQL技术内幕:innodb存储引擎

技术分享图片

看完上面那本书以后,对MySQL算是比较熟悉了,不过对于面试中常考的innodb引擎,还是推荐一下这本书把,专门讲解了innodb存储引擎的相关内容。我还没有细看,但是内容足够你学好innodb了。

4 高性能Mysql

技术分享图片

这本书可以说是很厚了,更适合DBA拜读,讲的太详细了,打扰了。

5 Redis实战

技术分享图片

和MySQL一样,学习Redis的第一步最好也是先实战一下,通过这本书就可以较好地掌握Redis的使用方法,以及相关数据结构了。

6 Redis设计与实现

技术分享图片

该书全面而完整地讲解了 Redis 的内部运行机制,对 Redis 的大多数单机功能以及所有多机功能的实现原理进行了介绍。这本书把Redis的基本原理讲的一清二楚,包括数据结构,持久化,集群等内容,有空应该看看。

分布式

0 分布式Java应用

技术分享图片

这本书是淘宝大牛写的书,主要讲的就是使用rpc来构建分布式的Java应用,讲了很多基础的东西,可以作为入门书籍,不过这本书我之前没有遇到,所以没看过。

1 大型网站技术架构

技术分享图片

这本淘宝系技术指南还是非常值得推崇的,可以说是把大型网站的现代架构进行了一次简单的总结,内容涵盖了各方面,主要讲的是概念,很适合没接触过架构的同学入门。看完以后你会觉得后端技术原来这么博大精深。

2 大型分布式网站架构设计与实践

技术分享图片

这本书与上面一书相比更倾向于实践,主要讲的是分布式架构的一些解决方案,但是如果你没有接触过相关的场景,可能会看的云里雾里。

3 分布式服务框架原理与实践

技术分享图片

上面那本书讲的是分布式架构的实践,而这本书更专注于分布式服务的原理讲解和对应实践,很好地讲述了分布式服务的基本概念,相关技术,以及解决方案等,对于想要学习分布式服务框架的同学来说是本好书。

4 大型网站系统与Java中间件开发实践

技术分享图片

话说这些书的名字真实够长的。这本书也是阿里系出品,主要讲的是大型网站系统以及使用的相关中间件,毕竟阿里是中间件大户,所以很多中间件对应用再网站系统中,对于想学习这方面技术的同学来说可以一看。

5 从Paxos到Zookeeper分布式一致性原理与实践

技术分享图片

说起分布式系统,我们需要了解它的原理,相关理论及技术,这本书也是从这个角度出发,讲解了分布式系统的一些常用概念,并且带出了分布式一哥zookeeper,可以说是想学分布式技术的同学必看的书籍。

6 大规模分布式存储系统

技术分享图片

这本书是阿里巴巴oceanbase核心开发大佬写的书,讲的是分布式存储相关的原理和解决方案,该书不是很厚,如果想做存储方向的同学可以看看。

云计算

云计算方面的内容主要是我在实习阶段接触的,如果只是应用开发方向的话这块不懂也罢。主要还是看个人兴趣。

1 OpenStack设计与实现

技术分享图片

OpenStack是基于KVM技术的一套私有云生态。这本书很好地讲解了OpenStack的一些基本原理,包括各个组件的设计与实现,比起另一本《OpenStack王者归来》简单易懂的多。当然,前提最好是你对Linux内核和网络有所了解。

2 docker入门与实践

技术分享图片

docker是现在应用部署的主流方案了,所以了解一下还是挺有必要的,这本书作为入门书籍足够让你会使用docker了。

3 kubenetes权威指南

技术分享图片

kubenetes是docker的集群解决方案,也是一个微服务的解决方案,所以这本书涉及的内容非常多,需要有网络,操作系统以及docker相关的基础。我看这本书的时候可以说是非常晕的。

大数据

和云计算一样,大数据方面的内容也不算是Java后端技术栈所需要的,但是这也能为你加分,并且让你跟大数据开发的岗位沾点边,何乐而不为。

1 大数据技术原理与应用

技术分享图片

作为大数据方面的一本教材,厦大教授写的这本书还是非常赞的,从最基础的原理方面讲解了Hadoop的生态系统,并且把每个组件的原理都讲得比较清楚,另外也加入了spark,storm等内容,可以说是大数据入门非常好的一本书了。

2 Hadoop实战

技术分享图片

这本书很厚,我买的时候大概看了一遍,一头雾水。所以建议先看上面那本书,再来看更加进阶的书籍,否则可能就是浪费时间了。

3 Hadoop权威指南

技术分享图片

这本书主要对Hadoop生态中组件进行详细讲解,有点太详细了,如果不是做大数据方向的话,可以不看。

其他:

1 Git权威指南

技术分享图片

Git是现在大公司主流的代码协同工具,如果你想要了解其底层原理,可以看看这本书。

2 重构

技术分享图片

这本书主要介绍的是代码重构的一些指导思想和最佳实践。有重构需求的同学可以看看。

3 - n

其他方面的书籍就太多了,比如软件工程方面的,测试方面,Linux方面,以及讲一些程序员自我提升的书籍,就不一一列举了,因为这部分的内容可以不归入Java后端的技术栈。

 

软件工程师必备书单

...·朗(TomLong)著,姚军,茹蓓译Google开发工程师从零讲解高质量代码,整合作者及团队多年的软件开发实践经验,通过50+条锦囊妙计、100+个案例,帮你轻松理解和掌握编程技能。本书分享的实用... 查看详情

java工程师的终极书单

本份Java工程师的终极书单只在专业的Java技术博客–天天编码上发布,没有授权任何网站与个人转载。坚持阅读好书是学习Java技术的好方式。但是,市面上与Java技术相关的书籍可谓数不胜数,如何从这些质量参差不齐的众多书... 查看详情

这份书单,想要晋级高级java工程师的朋友值得一看!

...配置都不需要了解了,直接一键式编译部署运行,让Java工程师的入门成本变得越来越低。但于此同时,互联网公司对于Java的应用场景也在不断地升级换代,从单机部署再 查看详情

java工程师核心书单,阿里大佬看了都说好!(代码片段)

随便打开一个招聘网站,看看对高级Java工程师的技能要求。image-20210312224908529抛开其它的经验能力等等,单纯从技术,或者说知识上来讲,可以发现一些共通的地方。Java基础计算机基础数据库,SQL/NoSQL常用开源框架分布式/微服... 查看详情

bat华为等一线大厂java工程师必读书单

以下皆出自本人亲自翻阅过的书籍,体验良好,豆瓣大众也以为然,遂列举,以供后浪规划学习。1JavaSE1.1基础《Java核心技术:卷1》适合转行及大一的CS专业新生们1.2进阶Java编程思想中文第四版即使是最晦涩... 查看详情

bat华为等一线大厂java工程师必读书单

以下皆出自本人亲自翻阅过的书籍,体验良好,豆瓣大众也以为然,遂列举,以供后浪规划学习。1JavaSE1.1基础《Java核心技术:卷1》适合转行及大一的CS专业新生们1.2进阶Java编程思想中文第四版即使是最晦涩... 查看详情

还搞不定java多线程和并发编程面试题?你可能需要这一份书单!

...配置都不需要了解了,直接一键式编译部署运行,让Java工程师的入门成本变得越来越低。但于此同时,互联网公司对于Java的应用场景也在不断地升级换代,从单机部署再到分布式,从SOA再到微服务,Java后端技术栈变得更加庞大... 查看详情

还搞不定java多线程和并发编程面试题?你可能需要这一份书单!

...配置都不需要了解了,直接一键式编译部署运行,让Java工程师的入门成本变得越来越低。但于此同时,互联网公司对于Java的应用场景也在不断地升级换代,从单机部署再到分布式,从SOA再到微服务,Java后端技术栈变得更加庞大... 查看详情

还搞不定java多线程和并发编程面试题?你可能需要这一份书单!

...配置都不需要了解了,直接一键式编译部署运行,让Java工程师的入门成本变得越来越低。但于此同时,互联网公司对于Java的应用场景也在不断地升级换代,从单机部署再到分布式,从SOA再到微服务,Java后端技术栈变得更加庞大... 查看详情

还搞不定java多线程和并发编程面试题?你可能需要这一份书单!

...配置都不需要了解了,直接一键式编译部署运行,让Java工程师的入门成本变得越来越低。但于此同时,互联网公司对于Java的应用场景也在不断地升级换代,从单机部署再到分布式,从SOA再到微服务,Java后端技术栈变得更加庞大... 查看详情

程序员入门必备经典书单

点击关注 异步图书,置顶公众号每天与你分享IT好书技术干货职场知识Tips 参与文末话题讨论,即有机会获得异步图书一本。成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。... 查看详情

你真的以为计算机网络不重要吗,这份书单帮你搞定相关面试题!

?公众号【程序员书单】作者黄小斜,目前是阿里Java工程师,业余时间广泛读书,在公众号里除了分享程序员必读的技术书籍之外,也会推荐很多关于个人成长、投资理财等方面的书籍。你烦恼的每个问题,书中都有答案。在这... 查看详情

一份程序员必备的经典算法书单

点击关注 异步图书,置顶公众号每天与你分享IT好书技术干货职场知识 参与文末话题讨论,每日赠送异步图书——异步小编当我们在工作中使用算法时,通常都是希望能更有效地解决问题、使程序运行得更快,并且让解... 查看详情

java工程师必备

Java工程师必备JAVA基础扎实,熟悉JVM,熟悉网络、多线程、分布式编程及性能调优精通JavaEE相关技术熟练运用Spring/SpringBoot/MyBatis等基础框架熟悉分布式系统相关技术熟悉MySQL及SQL优化高并发、高可用、微服务、容器化等开发经验... 查看详情

这一份mysql书单,可以帮你搞定90%以上的面试题!

...微信公众号【程序员书单】作者黄小斜,目前是阿里Java工程师,业余时间广泛读书,在公众号里除了分享程序员必读的技术书籍之外,也会推荐很多关于个人成长、投资理财等方面的书籍。你烦恼的每个问题,书中都有答案。... 查看详情

java工程师书单(初级中级高级)

简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序员经常会问到的问题... 查看详情

这份ic设计必读书单,值得所有ic设计工程师一看!

...人:ExASIC把verilog变网表的必备参考书,前端设计工程师的能力提升必经之路《FromAlgorithmstoHardwareArchitectures》作者:KarimAbbasThisbookusesdigitalradiosasachallengingdesignexamplegeneralizedtobridgeatypicalgapbetweendesignerswhoworkonalgorithmsandtho... 查看详情

你真的以为计算机网络不重要吗,这份书单帮你搞定相关面试题!

?公众号【程序员书单】作者黄小斜,目前是阿里Java工程师,业余时间广泛读书,在公众号里除了分享程序员必读的技术书籍之外,也会推荐很多关于个人成长、投资理财等方面的书籍。你烦恼的每个问题,书中都有答案。在这... 查看详情