本博文系转载:原博地址:https://blog.csdn.net/qq_43336600/article/details/83537307

重要:注:原博整理的资源是加密资源,所以我在进行转载时已经将相关资源链接删除,鉴于某些人下载后才发现要付费解密,特此标注。

以下为转载内容:

转载自某大佬博客:https://pymlovelyq.github.io/2018/10/26/java/

前言:技术书阅读方法论

一.速读一遍(最好在1~2天内完成)

人的大脑记忆力有限,在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用。
对于每一章的知识,先阅读标题,弄懂大概讲的是什么主题,再去快速看一遍,不懂也没有关系,但是一定要在不懂的地方做个记号,什么记号无所谓,但是要让自己后面再看的时候有个提醒的作用,看看第二次看有没有懂了些。

二.精读一遍(在2周内看完)

有了前面速读的感觉,第二次看会有慢慢深刻了思想和意识的作用,具体为什么不要问我,去问30年后的神经大脑专家,现在人类可能还没有总结出为什么大脑对记忆的完全方法论,但是,就像我们专业程序员,打代码都是先实践,然后就渐渐懂了过程,慢慢懂了原理,所以第二遍读的时候稍微慢下来,2周内搞定。记住一句话:没看完一个章节后,总结一下这个章节讲了啥。很关键。

三.实践(在整个过程中都要)

实践的时候,要注意不用都去实践,最好看着书,敲下代码,把重点的内容敲一遍有个肌肉记忆就很不错了。
以及到自己做过的项目中去把每个有涉及的原理的代码,研究一遍,就可以了

Java开发工程师一般负责后端开发,当然也有专门做Java Web的工程师,但是随着前后端的分离,越来越多的Java工程师需要往大后端方向发展。今天我们就来介绍一下Java后端开发者的书单。首先要感谢一下某大佬力推的后端书架,初学阶段读到了很多好书直到现在都让他印象深刻。
大佬说他在两年的学习历程中看了很多的书,其中不乏XXX入门到精通,XXX王者 归来,XXX指南什么的。
虽然这类书确实毛病很多,但是作为非科班的他来说,当时还是看的津津有味。直到后来我他看到一些优秀的书籍,以及大佬的大佬哥的书架,他才逐渐认识到看一些精品书籍的好处。
所以我今天就从这些精品书籍中挑选一些优秀书籍来推荐给大家,当然其中有一些书我自己也没有时间看完。
接下来我们按照后端技术栈各个部分的内容来推荐书籍。
懂的人自然懂吧,就不多说了,对了最后说一句,进了猪厂。

资源图示:

以下是每本书的推荐语,清楚自己缺的是什么,就下定决心去补吧,一个好工作意味着高收入,投资自己的时间换来更宝贵的东西。

Java从入门SE到进阶EE:

一.计算机网络系列:

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系列

1.《深入JavaWeb技术内幕》

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

2.《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开发中不可缺少的一部分,如果想要全面了解其实现原理的话,可以看看这本书。

七.数据库系列

1.《数据库原理》

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

2.《SQL必知必会》

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

3.《深入浅出MySQL》

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

4.《MySQL技术内幕:innodb存储引擎》

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

5.《高性能Mysql》

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

6.《Redis实战》

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

7.,《Redis设计与实现》

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

八.分布式系列

1.《分布式Java应用》

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

2.《大型网站技术架构》

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

3.《大型分布式网站架构设计与实践》

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

4 .《布式服务框架原理与实践》

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

5.《大型网站系统与Java中间件开发实践》

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

6.《从Paxos到Zookeeper分布式一致性原理与实践》

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

7.《大规模分布式存储系统》

这本书是阿里巴巴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.其他的其他

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

十二.颈椎康复系列:

1.《做自己的颈椎医生》

身体是革命的本钱。懂得人不用解释了。

总结:

一.计算机网络系列(4本):
1.《TCP/IP卷一》
2.《计算机网络:自顶向下》
3.《图解HTTP和图解TCP/IP》
4.《计算机网络》
二.操作系统系列(4本)
1.《深入理解计算机系统》
2.《现代操作系统》
3.《Linux内核设计与实现》
4.《Unix网络编程》
三.数据结构与算法系列(4.5本)
1.《算法导论》
2.《数据结构与算法(Java版)》
3.《算法图解,啊哈算法》
4.《剑指offer》
5.LeetCode教科书式刷题网站
四.Java基础系列(2本)
1.《Java编程思想》
2.《Java核心技术卷一.二》
五.Java进阶系列(6本)
1.《深入理解JVM虚拟机》
2.《Java并发编程实战》
3.《Java并发编程艺术》
4.《Effective Java》
5.《Java性能调优指南》
6.《 Netty权威指南》
六.JavaWeb系列(7本)
1.《深入JavaWeb技术内幕》
2.《How Tomcat Works》
3.《Tomcat架构解析》
4.《Spring实战》
5.《Spring源码深度解析》
6.《Spring MVC学习指南》
7.《Maven实战》
七.数据库系列(7本)
1.《数据库原理》
2.《SQL必知必会》
3.《深入浅出MySQL》
4.《MySQL技术内幕:innodb存储引擎》
5.《高性能Mysql》
6.《Redis实战》
7.《Redis设计与实现》
八.分布式系列(7本)
1.《分布式Java应用》
2.《大型网站技术架构》
3.《大型分布式网站架构设计与实践》
4.《布式服务框架原理与实践》
5.《大型网站系统与Java中间件开发实践》
6.《从Paxos到Zookeeper分布式一致性原理与实践》
7.《大规模分布式存储系统》
九.云计算系列(3本)
1.《OpenStack设计与实现》
2.《docker入门与实践》
3.《Kubenetes权威指南》
十.大数据系列(3本)
1.《大数据技术原理与应用》
2.《Hadoop实战》
3.《Hadoop权威指南》
十一.其他系列(2本)
1.《Git权威指南》
2.《重构——改善既有代码的设计》
3.其他的其他
十二.颈椎康复指南系列(不开玩笑,适当看看真心有用)(1本)
1.《做自己的颈椎医生》

附java从入门SE到进阶EE推荐书籍50+本:

https://pymlovelyq.github.io/2018/10/26/java/

附学习数据库从入门到进阶书籍pdf版吐血整理推荐(珍藏版):

https://pymlovelyq.github.io/2018/10/12/database/

附机器学习和python学习之路吐血整理技术书从入门到进阶(珍藏版):

https://pymlovelyq.github.io/2018/10/15/machineLearning/

附算法与数据结构+一点点ACM从入门到进阶吐血整理推荐书单(珍藏版):

https://pymlovelyq.github.io/2018/10/06/Algorithm/

附python从入门到进阶推荐书籍最全整理pdf分享附网盘链接已拿BT豆瓣offer:

https://pymlovelyq.github.io/2018/10/20/python/

附安卓入门到进阶推荐书籍整理pdf附网盘链接已拿阿里豆瓣offer(珍藏):

https://pymlovelyq.github.io/2018/09/04/An/

附C/C++语言推荐书籍从入门到进阶带你走上大牛之路(珍藏版):

https://pymlovelyq.github.io/2018/10/10/CC/

附Web前端书单从HTML到JS到AJAX到HTTP从框架到全栈过来人帮你走更少弯路(珍藏版):

https://pymlovelyq.github.io/2018/10/17/WebFont/

总结:天下没有不劳而获的果实,望各位年轻的朋友,想学技术的朋友,在决心扎入技术道路的路上披荆斩棘,把书弄懂了,再去敲代码,把原理弄懂了,再去实践,将会带给你的人生,你的工作,你的未来一个美梦。

Java学习之路吐血整理技术书从入门到进阶最全50+本(珍藏版)相关推荐

  1. Java学习之路整理-技术书从入门到进阶最全50+本(珍藏版 )

    学习交流加 个人微信:LyyCoder 学习交流资源分享qq群1(已满): 962535112 学习交流资源分享qq群2: 780902027 一.速读一遍(最好在1~2天内完成) 人的大脑记忆力有限 ...

  2. 个人开发经历--我的java学习之路(学校篇)

    个人开发经历--我的java学习之路(学校篇) 个人介绍: 姓名: 不在这里说明 联系信息: 个人历程 jdbc阶段 sql生成器 一代代码生成器 servlet阶段 servlet项目中,sql生成 ...

  3. JAVA学习之路:不走弯路,就是捷径(二)

    备注: 本文选自ChinaITLab网校课程<刘晓涛Java就业直通班V2.0>之预备知识,点击这里了解更多! JAVA学习之路---学习路线及要点 2.软件开发学习路线 两千多年的儒家思 ...

  4. 我的Java学习之路2009-11-17

    -------------------------------2009年3月19日开始----------------------------- 下载JDK Myeclipse Netbeans JB ...

  5. JAVA学习之路:不走弯路,就是捷径(一)

      0.引言 在ChinaITLAB导师制辅导中,笔者发现问得最多的问题莫过于"如何学习编程?JAVA该如何学习?".类似的问题回答多了,难免会感觉厌烦,就萌生了写下本文的想法.到 ...

  6. 菜鸟haqima的Java学习之路第一天

    菜鸟haqima的Java学习之路第一天 导读:DOS命令 常用快捷键 Java的简单概述 (第一章 Java开发环境的搭建) 1.常用的DOS命令 1.1.怎么打开DOS命令窗口 win键+r(组合 ...

  7. java学习之路之javaSE基础1

    <h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解) * A:什么是计算机?计算机在生活中的应 ...

  8. 1024 java学习之路。

    1024程序员节啦~ 从今天开始记录java学习之路. 从自开始接触java到现在快半年了从2020年的2月份到现在的10月份,中间也因为写毕设推迟了一些时间.算上来应该有半年了.半年中还是收获很多哒 ...

  9. 萌新的java学习之路——第一周

    萌新的java学习之路--第一周 第一周的学习 这是我学习Java的第一周,写这个博客更多的时为了总结自己这一周的学习情况,如果有人看到我写的博客,有什么问题的话,可以问我.虽然我也是一个小白,但我会 ...

最新文章

  1. 10分钟了解Flutter跨平台运行原理!
  2. Fiddler的学习
  3. 通过rsync清除目录的shell脚本
  4. 单页面axios_Axios封装之取消重复请求和接口缓存
  5. Python 数据科学入门
  6. 微信网页开发教程 php,PHP实现微信网页授权开发教程,php授权教程_PHP教程
  7. Tricks(三十六)—— remove_list_entry(无需 if 逻辑)
  8. 【文本匹配】cqrctr:文本匹配的破城长矛
  9. 95后频频离职,是员工本人问题?
  10. python实现按照给定范围随机生成小数,偶数,奇数,整数,正态分布,均匀分布数据以及图片
  11. windows电脑 安装asreml 设置防火墙 network TCP ports 5053 5443
  12. 武汉大学计算机2019转专业,武汉大学可以转专业吗,武汉大学新生转专业政策
  13. c语言加油站仿真实验报告,c程序队列实现模拟加油站研讨.ppt
  14. Contect Me
  15. 基于Java的网上作业批改系统
  16. EBAZ4205 ZYNQ HDMI扩展板 显示Linux桌面播放视频
  17. python ccf题解 201409-1 相邻数对
  18. FIR滤波器和IIR滤波器的区别和选择
  19. java开发 三年经验
  20. 大前端养成之路:学一点MongoDB(二)

热门文章

  1. 计算机知识点怎么背,计算机组成原理面试知识点整理可直接背诵
  2. 【物流重力货架】先进先出的重力式托盘货架(Gravity Flow Rack)在仓储中发挥着哪些作用?
  3. 顺丰开设518家网购线下服务社区店 布局O2O
  4. java undertow_Spring Boot 容器选择 Undertow 而不是 Tomcat
  5. 信息贩卖黑色产业链猖獗,大数据时代谁给隐私上锁!
  6. 怎么把动图放到word里_如何word里插入会动的gif图
  7. java企业级开发框架
  8. 【Machine Vision】关于工业相机编程调用SDK二次开发的一些步骤流程
  9. mfc 对话框透明 控件不透明_液体窗户会在热量中变得不透明并节省能源
  10. hive 日期转时间戳函数之unix_timestamp,时间戳转日期函数之from_unixtime