Java程序员必读精选书籍分享,强烈推荐

Posted 小白码上飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java程序员必读精选书籍分享,强烈推荐相关的知识,希望对你有一定的参考价值。

作为一名Java程序员,在这里为大家推荐一些必读的技术书籍,分享一些我自己的看法和见解,以及一些有助于Java程序员成长的资料啦。
书籍推荐原则:

  1. 技术书籍不宜一下读太多,太多的书会打消你的积极性,所以这里会精选不会多选。
  2. 都是自己阅读过筛选过的,而不是云推荐。
  3. 真的是基于一个工作5、6年经验的程序员认为最实用的书籍。不读不会影响你搬砖,但是读了会大有收获,至少搬砖会搬得很快且姿势优雅。

都是我买过的阅读过的书籍啦,如下:

Java技术书籍推荐

这部分按照顺序从从初学Java到进阶,可以根据自己所在阶段选择阅读。

1. 《Head First Java》


定位:Java初学者必读
推荐理由:
这个不用多说了,对于初学者,都会推荐这本书。Head First系列的书,都是用生动的文字和有趣的配图让没有基础的小白快速地对一门技术产生感兴趣。

2.《Java编程思想》(《Thinking in Java》)


定位:全体Java程序员必读
推荐理由:
这本大块头的Thinking in Java会涵盖你全部会用到的Java基础知识,讲解非常详细,是所有Java程序员的必读经典。当然这本书的缺点是,07年的第四版,还是基于jdk1.5的内容,而Java发展至今已经到JDK17了。当然,后续新版本的特性,可以通过其他的途径来学习和补充。
同时,也推荐这个大黑底的计算机科学丛书一整个系列。可以说这个系列的书内容都非常的权威和详细。

3. 《Spring 实战》


定位:Java程序员必读
推荐理由:绝大部分的Java程序员都会使用到Spring框架,而这本书会教你从零搭建一个Spring项目,帮助你更快的了解这个框架。不过我的建议是,这本书更偏向于实战,可能有些内容在你的实际工作中不会应用,所以可以在阅读前五章(第一部分以及第二部分的Spring Web)之后,选择性的阅读你会接触到的内容。
同时推荐一波这个小人书系列,他的每本实战都会对实际应用起到很大的作用。

4. 《Java并发编程实战》


定位:进阶Java程序员必读
推荐理由:
并发是每个Java程序员在成长过程中必须要迈过的门槛。这本书详细介绍了线程安全、线程池、锁等知识的原理和实战使用技巧,帮助你更好的掌握并发,并在工作时避免写出踩坑的并发逻辑。

5. 《深入理解Java虚拟机》


定位:进阶Java程序员必读
推荐理由:
这本书真的是太太太赞了!是我见过的最好的介绍Java虚拟机的书。我翻来覆去看了三四遍,书都翻烂了(当然,也是因为看一遍看不懂,看两遍没有深入理解,看了第三遍就悟到了)。虽然Java通过虚拟机将开发者和硬件隔离开来,并且负责了全部的内存管理,但是,如果作为一名Java程序员,你不懂虚拟机,在程序运行发生异常时(内存溢出、不断gc导致系统卡顿),你只能手足无措。这也是菜鸟到进阶的必备书籍。

6. 《JVM G1 源码分析和调优》


定位:进阶Java程序员选读
推荐理由:
阅读完上一本《深入理解Java虚拟机》后,你应该停留在对虚拟机实现原理的层面上。那么继续向前,通过源码进一步深入学习虚拟机吧!这本书通过分析G1的源码,深度拆解G1的对象分配、垃圾处理、引用回收的过程,非常详细和烧脑。
可能在阅读过程中会有如下问题:毕竟是C的源码分析,有些朋友可能会看的很累,啃源码会相当费劲。同时,在一些细节地方,会产生很多疑问。所以这里建议,阅读本书时,最好把JVM源码下载下来跟着书一起阅读,代码真的不多,不要产生恐惧。同时遇到不太懂的问题,要搜索网上的文章加以辅佐理解。

代码规范与技巧

掌握了Java技术后,我们需要学会如何写好规范优质甚至优雅的代码,以及学会在工作中不得不面对屎山代码时,游刃有余的技巧。

1.《Effective Java》


定位:全体Java程序员必读
推荐理由:
这本书会分门别类的列出几十条Java编码时的注意事项,帮助你在写代码的时候,写出更高效优质的代码。
你可以先整体的阅读这本书,对方方面面先有个大致的了解,感受其中的编码理念。之后在实际工作中,遇到书中涉及到的条目,回来翻看阅读,看是不是可以用书中描述的写法来完成你的这部分代码。

2.《大话设计模式》


定位:初学Java程序员必读
推荐理由:
设计模式是非常重要的。设计模式是代码设计经验的总结,你可以充分的利用设计模式,更好的完成你不同功能代码的实现。简单来说,你的所有代码的逻辑都可以通过if for来实现。但是逻辑复杂起来之后,易读性和扩展性就会变差。而设计模式就是用前人总结的经验更快更好的实现你的代码逻辑。这本大话设计模式通过大鸟和小菜之间的聊天,幽默风趣的讲解设计模式,让人更感兴趣的阅读下去。
其实设计模式相关的书籍,还有两本好书:《图解设计模式》和《设计模式:可复用面向对象软件的基础》,前者易懂,后者经典。但是基于前面的推荐原则,这里不做主推。如果想再多了解设计模式,可以选看这两本书。
掌握设计模式,其实也不是看几本书就可以掌握的。设计模式的运用,实际上是代码编写经验的积累。代码写的多了,对于设计模式才会有更深入的理解和领悟。所以看书是让你知道各种设计模式,多写代码,才能灵活的运用设计模式。

3.《重构 : 改善既有代码的设计》


定位:全体程序员必读
推荐理由:
绝了绝了!这本书绝了!我认为这本书是全体程序员必备书籍。你要知道,程序员平时的大部分工作,都是在已有的代码上去修改逻辑。这时候你就要面对两个问题:这代码怎么改?和怎么保证改不坏?重构这本书就是宝典,帮助你解决以上两个问题。同时,他也会帮助你,在开发完新的代码后,是不是能让你自己的代码更优质一些?它不只是讲述重构的技巧,也让你能保证写出高质量的代码。
需要强调的是,黑皮的第二版是使用JS做的代码示例。因为作者认为,重构这件事情是不受语言限制的。所以阅读黑皮的也没有影响。如果作为Java程序员,你真的想看Java代码的示例,那就买白皮的第一版。

4.《代码整洁之道》


定位:全体程序员选读
推荐理由:
这本书如其名,教你如何写出整洁的代码,以及写出整洁代码的理念。比如如何命名(命名太难了)、如何处理异常、怎么写好易读的类和方法。为什么说是选读呢?因为这本书看完,你会发现有些过于理想化(比如一个方法的代码应该就是几行不超过20行)且太细了。如果完全按照他的描述,我认为代码就没法写了。当然里面的大部分思想是值得贯彻执行的,所以就需要读者自己思考,什么规则是必须要遵守的,什么规则可以适当的放宽。
最后,代码规范方面,推荐一下阿里巴巴Java开发手册。阿里的这套编程规约很适合用于当前程序员的编码规范,在这里也推荐大家阅读。并且可以搭配idea的插件一起使用。

数据库

《高性能mysql


定位:Java程序员必备
推荐理由:
Java程序员,总是少不了对数据库的CRUD。而MySQL是最常用的数据库。
这本厚的一拍就能拍晕好几个程序员的书,我认为是必备的。这本书会教你一些MySQL的基础知识,更多的是如何优化SQL语句、优化索引。对于大部分的程序员来说,我认为阅读前六章就可以了,这将是你使用到的最多的MySQL的知识。如果你需要亲自运维MySQL数据库,那么第七章之后是你需要关注的。我更喜欢把这本书当做字典,当我写出执行效率不高的SQL时,我会翻看这本书找一些优化的方案。

缓存

《Redis实战》


定位:Java程序员选读
推荐理由:
Redis作为最常用的缓存,我相信作为Java程序员在工作中肯定是会接触到的。
我看到的讲解Redis的好书不多,也许是因为Redis技术和其他方向的技术横向对比之下,并没有很难。而且Redis作为面试的必备考察点,现在世面上的技术博客和公众号已经把Redis的设计和原理讲的很透彻了,所以单独的优质书籍少了些。
《Redis实战》这本书,在简单讲解基础知识后,更多的倾向于Redis的实际应用。我认为这是很具有参考价值的。你经常会遇到一些求快的场景,一说到快就离不开Redis。而在这些场景下如何利用好Redis,这本书会给你很大的帮助。

强力推荐的基础书籍

接下来两本重量级书籍,是推荐给所有希望更上一层楼的程序员的基础类书籍。说实话,我看了,但是没看多少,也看不动,看过的也忘了,但是我真的强力推荐。
两本经典且永远不会过时的计算机的根基书籍,推荐给大家。

《深入理解计算机系统》

《算法》

以上就是我推荐给大家的全部必读书籍了!如果大家感觉书还不够多不够看,这里我推荐几个大概率不会踩坑的系列,方便大家选择自己想看的书籍。

几个优秀的书籍系列

1.小人书系列

这种书籍封面有个穿着独特的小人的书,是manning出版社特有的封面。他家出的实战系列都很好看。

2.计算机科学丛书系列

这个黑底大块头系列,一般都作为高校的教材使用。技术含金量很高,非常基础,但是很难看下去。你需要坚定的决心和毅力。

3.动物书

动物书是个很经典的系列,任何技术都有一本动物书,你想学的技术,都可以找到。但是他也很厚重,而且并不是每本都好,有时候总是被诟病翻译问题。

如何正确阅读技术书籍

最后聊聊我对读书的看法。
程序员真是需要一直学习一直进步的职业,说到学习就离不开成斤重的技术书籍。虽然现在技术视频、技术博客等学习资源很多,但是我认为阅读技术书籍还是优先选择的学习技术的方式。因为一本书的内容是成体系的,根据一本书的脉络可以系统性的学习技术。同时,经典的书籍也是经过很多人的阅读后流传至今,被人认可和印证。
当然,技术书籍也是有缺点的。第一是随着时间的推移,技术在进步,但是书的内容是不变的。第二,一本书很难囊括技术的每个细节,而且也会有难懂的地方。所以这时我们就要以书的框架为主,在读到不明确或者看不懂的地方,再去搜索技术文章,进行查缺补漏,这样效果会很显著。
最后要强调的一点是,一门技术,其实最权威的是官方的第一手文档和源码。无论是书籍还是技术文章,都是基于官方文档和源码进行的翻译和整理,以及作者的经验和理解。所以学会第一时间去查官方文档,对于自己技术的提升才是最有效的。

好啦,以上的全部内容都是我一字一句手敲出来的原创内容。创作不易,如果给你带来帮助,希望能点个赞点个关注点个小爱心啦~感谢感谢。为大家送上我精选的Java面试真题和学习资料,一起进步吧!

以上是关于Java程序员必读精选书籍分享,强烈推荐的主要内容,如果未能解决你的问题,请参考以下文章

强烈推荐,建议收藏,Java经典书籍汇总!分享Java那些口口相传的好书籍

强烈推荐,建议收藏,Java经典书籍汇总!分享Java那些口口相传的好书籍

强烈推荐,建议收藏,Java经典书籍汇总!分享Java那些口口相传的好书籍

java 书籍推荐 JavaEE程序员必读图书大推荐

精通Java虚拟机必读书籍推荐书单

java零基础入门书籍都有哪些值得推荐?