【转】成为Java顶尖程序员 ,看这10本书就够了

霸气de小男生 提交于 2020-03-02 04:17:21

“学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:

\

  1.能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资料

  2.对着书上的代码自己敲的时候方便

  “看完书之后再次提升自我的最好途径是看一些相关的好博文“,我个人认为这是学习的第二步,因为一本书往往有好几百页,好的博文是自己看书学习之后的一些总结和提炼,对于梳理学习的内容很有好处,当然这里不是说自己的学习方法,就不再扯下去了。

  很多程序员们往往有看书的冲动,但不知道看哪些书,下面我就给各位Java程序猿们推荐一些好书(每本书的作者会加粗标红),其中绝大多数都是我自己平时在看的书,也算是我对于平时读的书做一个小总结和读后感吧。

  首先推荐的不是一本书,而是一个博客,也是我们博客园另外一位博友java_my_life。

  目前市面上讲解设计模式的书很多,虽然我前面讲了看书是最好的,但是对设计模式感兴趣的朋友们,我推荐的是这个博客。这位博友的设计模式讲得非常非常好,我认为90%的内容都是没有问题且很值得学习的,其讲解设计模式的大体路线是:

  1、随便开篇点明该设计模式的定义

  2、图文并茂讲解该设计模式中的结构

  3、以详细的代码形式写一下该种设计模式的实现

  4、补充内容

  5、讲解该设计模式的优缺点

  对于一个设计模式我们关注、学习的知识点,不就是上面这些吗?

  不 过我要重点提醒一下网友们,同一种设计模式的写法有多种,并不是说只有按某种写法来写才是这种设计模式。比方说适配器模式,我们关注适配器模式一定要关注 的是什么是适配器模式不是怎么写适配器模式,不要认为某段代码不是按照适配器模式的写法写下来的它就不是适配器模式了,记住这一点,你在学习设计模式的时 候一定会对代码中用到的设计模式有更深入的理解。

 《Effective Java中文版》

  《实战Java虚拟机:JVM故障诊断与性能优化》

25612fm立体图

  如果你不满足于做一个只会写if…else…的Java程序员,而是希望更进一步,我随便举几个例子吧:

  1、了解Java代码的底层运行机制

  2、定位性能问题

  3、对整个系统进行性能调优

  4、解决各种奇奇怪怪的线上线下问题

   那 么Java虚拟机是你必学的一门技术。《实战Java虚拟机:JVM故障诊断与性能优化》写的很入门,技术也最新,新手也能看得懂,如果有java技术瓶颈的,看完会豁然开朗。

  《HotSpot实战》

\

  所有的Java虚拟机都是遵循着Java虚拟机规范来的,市面上的Java虚拟机几十款,《实战Java虚拟机:JVM故障诊断与性能优化》一书里面讲的虚拟机并不针对某种特定的虚拟机,而是从Java虚拟机规范的角度来讲解Java虚拟机。

  我们平时使用的乃至商用的大多数Java虚拟机都是Sun公司的HotSpot,大家cmd进入命令行,使用”java -version”命令就可以看到了。如果希望在Java虚拟机规范的基础上更加深入地去理解虚拟机的一些细节是怎么实现的,就可以看一下《HotSpot实战》一书,作者是陈涛。不过由于HotSpot的源码都是C/C++写的,所以要求读者有非常好的C/C++基础,如果对这两门语言不是很熟悉的朋友,看这本书可能对你帮助不是很大。

  最后提一句,如果有兴趣的朋友,不妨先去网上下载一个openJDK,HotSpot的源码就在里面。

  《实战Java高并发程序设计》

  这本书是目前点评推荐比较多的书,其特色是:

  1、案例小,好实践

  2、代码有场景,实用。

   无论如何,并发已经成为多核时代的趋势,还是一定要推荐给大家的。

  《java多线程编程核心技术》

\

  《Java多线程编程核心技术》作者高洪岩。想要学习多线程的朋友,这本书是我大力推荐的,我的个人博客里面二十多篇的多线程博文都是基于此书,并且在这本书的基础上进行提炼和总结而写出来的。

  此书和《Java并发编程实战》 相反,这本书的特点是大篇幅的代码+小篇幅的精讲解,可能这和中国人写的书比较偏向实用主义的风格有关。本书关于线程安全、synchronized、 Reentrant、Timer等等都用详细的代码进行了讲解,而且每个大知识点下的多个小知识点都会详细讲解到,非常有实践价值。

  有兴趣的朋友们,我相信只要你们跟着这本书里面的代码敲、运行、思考,三步走,对于多线程的使用与理解一定会进几大步。

  不 过这本书的缺点就是对于Java并发包下的一些类像CountDownLatch、Semphore、CyclicBarrier、Future、 Callable等都没有讲到,重点的CAS和AQS也没有触及,重点类的实现原理也没有提。当然,这很深入了,在学习了这本书之后如果能再去对这些知识 进行一些学习、研究的话,你一定会慢慢成长为一个很厉害的多线程高手。

 

  《深入分析Java Web技术内幕》

\

  一个字评价这本书,屌;两个字评价这本书,很屌;三个字评价这本书,非常屌。呵呵,好了,再说下去可能别人以为我是水军了。

  《大型网站技术架构 核心原理与案例分析》的作者是李智慧,原阿里巴巴技术专家。

  Java 的大多数应用都是用在Web上的,现在只要稍微大型一点的Web应用,都一定是一个分布式系统,那么一个分布式系统用到了哪些技术?一个大型网站是如何从 一个小型网站成长起来的?如何保证你的网站安全?分布式系统使用到了缓存,有哪些缓存?缓存的使用有哪些值得注意的事项?

  关 于分布式的知识点,都在这本书里面有体现,只有你想不到,没有他写不到,而且写得非常易懂,基本属于看一两遍,再记一些笔记就知道是怎么一回事儿了。多看 几遍,对分布式的理解一定会加深不少。而且里面不仅仅是分布式的知识,还非常接地气地写了如何做一个好的架构师,其实我认为这不仅仅是写给想做架构师的读 者看的,就是给读者一些建议,如何更好地提出意见、如何更让别人关注你的声音、如何看到他人的优点,入木三分,让人获益匪浅。

  《大型网站系统与Java中间件实践》

\

  《从Paxos到ZooKeeper 分布式一致性原理与实践》,作者倪超,阿里巴巴工程师。

  这本书是我最近在研读的一本书,和上面的《大型网站系统与Java中间件实践》一样,属于分布式组件的范畴,属于有些深入的内容,当然也是我自己的个人兴趣。当然,如果有志向做一个出色的大型网站架构师、公司的技术总监之类,这些知识当然是必须掌握的。

  本书从分布式系统基本理论开始讲起,讲到Paxos算法,最后慢慢引入到Zookeeper,循序渐进。当然,更多的我目前还不方便发表什么看法,因为这本书的第二张Paxos算法我都还没有弄懂(Paxos算法确实有些难以理解和不太易懂),接下来的章节还没有看下去。

  如果网友们所在的公司在使用Zookeeper,并且你又对Zookeeper感兴趣想要研究一下它的原理的,这本书将是不二之选。

 

  《Spring源码深度解析》

来源:oschina

链接:https://my.oschina.net/u/1011494/blog/599749

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!