侧边栏壁纸
博主头像
why

一个主要敲代码,经常怼文章,偶尔拍视频的成都人。

  • 累计撰写 181 篇文章
  • 累计创建 11 个标签
  • 累计收到 88 条评论

盘点那些在我文章中出现过的书籍

why
why
2020-04-19 / 0 评论 / 0 点赞 / 138 阅读 / 3,074 字
温馨提示:
关注公众号why技术,第一时间接收最新文章。

1

首先,老读者肯定是知道的,出镜率最高的是周志明的《深入理解Java虚拟机》这一本书,这本书现在出到第三版啦:

这本书在我的《面试了15位来自985/211高校的2020届研究生之后的思考》这篇文章里面出现过:

在这篇文章《讲真,我发现这本书有个地方写错了!》中也出现了:

这篇文章中也有:《《深入理解Java虚拟机》第2版挖的坑终于在第3版中被R大填平了》

还有其他的很多文章引用了书中的内容,就不一一列举了,总之这是一本很好的书。

可以说是填补了国内 JVM 的一块空白。推动了 JVM 在国内的普及度。

我这么说吧:要是没有这本书,也就没有这么多 JVM 的面试题。但要是真没有这本书,你的技术链上,会缺少了非常重要的一环。

同时,像书中的前言部分说的一句话:通常情况下,一个程序员只要了解了必要的 Java 类库 API、Java 语法,学习适当的第三方开发框架,就已经基本满足日常开发的需求了。

你细细的品一下,你是要面试题,还是要 CRUD,还是要技术的完善度?

这本书已经出到第三版了,我也是期待了很长时间:

第三版发布后,我立马就买了一本。我陆陆续续也快要看完了,相比于第二版,更新了近百分之 50 的内容,是真的香。

等我看完消化消化后应该会出一个第二版和第三版的对比的文章,敬请期待哦。

然后分享一下我看这书的一个小小的转变吧:

2016 年我第一次读这书的时候,虽然看不懂,但是觉得这简直就是圣经啊!

2020 年的现在,我有了一点工作经验,读了几次这书后,衍生了其他的知识点后,才发现,这本书其实就是个科普入门级别而已。

没有不敬的意思,而是 JVM 真的是一门博大精深的学问。而任何一门博大精深的学问都不可能是你看一两本书就能掌握的,只能说是入门。

而且永远也别想着读一遍就能把这本吸收完,说实在的,你能完整的读完一遍就算不错了。

但是别放弃好吗,这书常读常新的。

这本书你买回去什么时候才真正的体现出它的价值呢?

我觉得就是当你认为它是一本 JVM 科普入门级别的书的时候。而那个时候,你已经算是摸到了个 JVM 的轮廓。

写到这的时候突然想起来一句话:当你凝望深渊的时候,深渊也在看着你。当你学习 JVM 的时候,JVM 也在拉着你“越陷越深”。

总之,推荐。

第三版,同学们,买它。

2

第二本推荐《Java并发编程的艺术》一书:

这本书可以看作是 Java 并发编程的基础入门书,但是有点矛盾的是看这书又需要一定的 JVM 的基础。

看这书的时候有个小建议就是书里面提供了丰富的示例代码,一定要自己敲一遍,运行起来,对比自己的输出结果和书中的输出结果是否一致。

这本书什么时候体现出它的价值呢?

首先,面试的时候。市面上大部分与多线程相关的面试题,你基本上都能在这本书里面找到答案。

其次,你写程序的时候。当你写到一个地方觉得这里可能会有多线程问题,或者你写一个需求,觉得这个需求其实可以用上线程池的时候,就是你看过这本书的价值。

另外,看的时候结合下面这个勘误网站看:

http://ifeve.com/book/

总之,推荐,值得一看。

3

第三本推荐《Java并发编程实战》一书:

这本书和《Java并发编程的艺术》之间可谓是亦敌亦友的关系,关于它们之间我接触到的最多的一个问题就是:

可以说当一次聊天中出现了《Java并发编程实战》一书,那么《Java并发编程的艺术》可能会迟到,但是永不缺席,会出现在接下来的聊天记录中。

那么这两本书到底谁好一点呢?

这个问题很难去回答。《艺术》是中国人写的,可能读起来顺畅一些。《实战》是译本,有的时候外国人的思维和语言用中文译出来后表达的意思就没有那么精准了。

所以如果你一定要我给出一个建议,那么我的建议是:两本都买,先读《艺术》再读《实战》。

当然,如果你的英文非常牛皮的话,直接读《Java编发编程实战》的英文版,完美。

另外,多说一句,还有一本书叫做《Java并发编程实践》,我没看过,所以我不知道写的怎么样。但是你千万别买错了,好吗?

为什么要多说一句呢?

因为有的读者......买错了。

4

第四本推荐《Effective Java》一书,这本书也是出到了第三版了:

这本书在我《这道面试题我真不知道面试官想要的回答是什么》这篇文章中出现过:

这本书我说是 Java 圣经,有谁不服的?

甚至我觉得为了表示尊敬,看到这个地方你应该站起来鞠个躬,说一声:

如果这本书看完后你觉得你没有收获,那么我的建议是你再读一遍。如果再读一遍后你还是没有收获,我的建议是你再修炼修炼。

如果你是一个有二、三年工作经验的 Javaer,这个阶段对你最有帮助的就是去听在这个行业里面真正的精通者对这些知识的分析,去吸取在这个行业里摸爬滚打了几十年,甚至是领路人的角色,在这几十年的过程中的总结出来的经验教导。

而这些东西,这本书都会告诉你。

还是那句话:如果你的英文非常牛皮的话,直接读英文版,完美。

5

第五本书推荐《数据密集型应用系统设计》一书:

这本书,在我《【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。》这篇文章里面出现过:

长发哥(作者马丁)的这本书,怎么说呢?

Amazing!Unbelievable!OMG,买它。

借用豆瓣网友的一个短评:传说中的ddia果然名不虚传。提纲挈领,高屋建瓴。注定要回看许多遍才能吃透。每章章首的题图真乃一大亮点。那些走过的路呀,那些趟过的河,以及那些掉过的坑。

再引用豆瓣网友本赖克的一个评论:

https://book.douban.com/review/10320588/

首先要说明的是,这本书没有介绍什么新技术,很多内容都是我们所熟悉的。也没有具体讲解某一种技术的细节,不能期望读完本书后成为某种专家。

本书的意义在于,一方面是百科全书式的广度科普,涉及大家耳熟能详的技术名词:NoSQL, 大数据,最终一致性,CAP,MapReduce,流处理等,讨论他们背后遵循的不变的原则,知晓这些技术做的取舍,探索它们的设计选择。帮助我们更好地使用这些技术,不仅知道 how,更加知道 why。对我们有经验的工程师来说,可以查漏补缺,完善知识图谱上的拼图。

另一方面是思想深度上的升华。我们虽然有一定的开发经验,掌握了一些知识和技巧,但这些知识在我们的头脑中是比较散乱的,没有很好的组织起来,点和点之间也没产生联系。这本书就是将各个知识点串联起来,我们可以看到,同一种思想在多个章节中出现,反映出这些各种技术本质上是某种思想在不同问题层面上的投射。让我们能够站在一个高度上审视,自己的工作本质上是在做什么事,是在何种假设下解决什么类型的问题,得以从繁多的技术细节中抬起头来,看一看知识体系的全貌。

但凡是程序员,谁没有写过 CRUD 呢?

这本书就是 CRUD Boy 进阶的必读之书。

我希望我后面能就这本书出一篇观后感,现在的功力还是远远不够的,仍需努力。

6

其实还有很多很多优秀的技术书籍都没有说。等着下次的书籍推荐吧。

然后,再多说一句:人要多读书,知识是可以让人闪闪发光的。

很多技术书读完之后,不实践,很快就忘记了。

但是没有关系,你记得个大概,你隐约还知道一点东西。

你可以去反复的看,巩固加深。

你也可以只保留一个印象。

当遇到某个问题的时候,你知道这个知识点自己之前在哪本书里面看到过。

记不清了,但你知道去哪本书里面找答案。这也是读书的意义。

最后说一句(求关注)

好了,看到了这里了,关注一下我的公众号[why技术]吧,文章写好后第一时间会先发布在公众号里面。

写文章很累的,需要一点正反馈。你的关注,就是强有力的正反馈!

才疏学浅,难免会有纰漏,如果你发现了错误的地方,还请你留言给我指出来,我对其加以修改。

抱拳了,铁子!

0

评论区