首页 存档 技术 查看内容

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

2018-3-30 13:00 |来自: 互联网 364 0

摘要: “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会。个人认为看书有两点好处:1、能出版出来的书一定是经过反复的思考、雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其 ...


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

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


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


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


《Effective Java中文版》


作者是Joshua Bloch,谷歌首席架构师,属于超级技术大牛级别。这本书也是Java之父James Gosling博士推崇的一本书。


好的代码是每个Java程序员都应该去追求的,不是说我今天写一段好代码相比写一段烂代码对性能会有多大的提升,更多的应该是提升了代码的可读性以及可以规避许多潜在的、未知的问题,避免代码上线之后出问题而花时间去维护-无论从时间成本、人力成本还是风险成本来说,这都是非常高的。



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


如果你不满足于做一个只会写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并发编程实战》相反,这本书的特点是大篇幅的代码 小篇幅的精讲解,可能这和中国人写的书比较偏向实用主义的风格有关。


本书关于线程安全、synchronized、Reentrant、Timer等等都用详细的代码进行了讲解,而且每个大知识点下的多个小知识点都会详细讲解到,非常有实践价值。


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


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


作者许令波,淘宝工程师。这本书我用一个字概括就是:全!真的非常全,HTTP、DNS、CDN、静态化、Jetty、Tomcat、Servlet、Spring、MyBatis等等,什么都有,涉及知识面非常广,但又不像专门精讲某个知识点的书籍一样讲得非常深入,感觉这本书就是尽量去用短的篇幅讲清楚一些Java Web使用到的技术的内幕,让读者对这些知识点的技术内幕有一个理性的认识。


不过,尽管每个知识点的篇幅都不多,但是重点都基本讲到了,是一本让人真正有收获的书。如果想进一步了解这些技术的技术内幕,就要自己去买相关书籍或者自己上网查资料了,有种抛砖引玉,或者说师傅领进门、修行在个人的感觉。


《大型网站技术架构核心原理与案例分析》


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


《大型网站技术架构 核心原理与案例分析》的作者是李智慧,原阿里巴巴技术专家。Java 的大多数应用都是用在Web上的,现在只要稍微大型一点的Web应用,都一定是一个分布式系统,那么一个分布式系统用到了哪些技术?一个大型网站是如何从一个小型网站成长起来的?如何保证你的网站安全?分布式系统使用到了缓存,有哪些缓存?缓存的使用有哪些值得注意的事项?


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


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



作者曾宪杰,是淘宝的技术总监,算起来应该在阿里有至少P8的级别了吧。


本书要突出的重点是中间件三个字,中间件是分布式系统中一个非常重要的东西,其最重要的作用应该就是解耦,降低模块与模块之间的强依赖,不同的模块之间的依赖度降低,便可以各自独立地开发自己的功能,这也可以说是软件工程发展的目标和驱动力。


因此,本书有一部分的内容就是基于中间件,详细讲解了中间件与JMS的各种知识,适合对分布式系统比较熟悉并且想要往中间件方面有一定研究的读者。


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


作者倪超,阿里巴巴工程师。


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


本书从分布式系统基本理论开始讲起,讲到Paxos算法,最后慢慢引入到Zookeeper,循序渐进。


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


《Spring源码深度解析》


作者郝佳。


Spring 这个框架做得太好了,功能强大,以至于很多开发者都只知Spring,不知什么是工厂、什么是单例、什么是代理(我面试别人的真实体会)。这种功能强大的框架内部一定是很复杂的实现,这就导致一旦你的程序使用Spring,出了问题,可能是Error、可能是Exception、可能是程序运行结果不是你的预期的,出现诸如此类问题的时候,将会让你感到困惑,除了上网查资料或者问别人似乎没有更好的解决办法。


研读Spring的源代码不失为一种很好的学习方法,我个人认为这有很多好处:


1、理解框架内部的实现之后,可以主动去解决问题,而不需要依赖别人。


2、Spring框架内部实现用到了很多设计模式,很好的代码设计思路,这将会对你写代码、对你理解设计模式有很大的提高。


3、研究Spring框架将会大大增强你读代码的能力,我相信只要你能研究清楚Spring内部是如何实现的,其他任何一个框架的源代码都难不倒你。


总而言之,读代码的能力是一个普通的程序员和一个好的程序员之间最大的差别之一,前者只会把别人写好的东西拿来用,后者不仅能用好,还清楚知道别人写好的东西底层是如何实现的,在出现问题的时候可以轻松解决。


来源:网络,有删减







ABOUT ZHI YOU

彼岸繁华三千,智游愿意做你们梦想的“摆渡人”。智游教育现开设Html5、UI、Python、PHP、Java、大数据、VR等课程,铁血教育,军事化管理,项目推进式教学,让你的梦想与情怀落地。


点击“阅读原文”,申请智游教育7天免费试听。

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部