推荐几本书

  前两天有人让我推荐几本书看,于是我就捡Java初学者比较适合的先推荐两本慢慢看,最好多看几遍。

  先说些重点注意的事,主要就是四个字,知行合一;总是能遇到这样的孩子,背的都挺熟,一联系实际就懵,感觉就是完全没走脑子,书上的知识说的很溜,但是到实际问题的时候完全不想,未必是不会用,我觉得是压根就觉得学的是学的,学过了就算了,完全没想过要联系实际。

  好了,说正事,首先不是书,首先是大学的三门课,当然说是教材也成,数据结构、计算机原理、操作系统,其中我觉得数据结构如果一点印象都没有的话,先别看后面的推荐了,先抓紧过过这个,基础按说是最重要的,偏偏多数程序员基础不会。。。

  第二个推荐的严格来说也不是书,去找一下google(当然也不一定必须是)的开发规范,至少先过一遍吧。

  终于来到书的环节了:

  1、代码大全,这个其实没啥好说的,我觉得只要是程序员这就是应该看的,而且要反复看,经典中的经典,适合任何职业的程序员(还是注一下:不知道适合不适合职业汇编的,应该也适合吧)。

  2、设计模式,这个玩意要以唯物主义辩证法。。。反正别照猫画猫就是了,画也得画虎。。。,设计模式都是特定条件下对面向对象基本原则的最佳实践一类的东西,有很大局限性,照着画也并不是说不好,再初学者完全摸不着头脑的时候画也是一种学习方法。不过实际工作中最好还是结合自己的情况,就是照着猫也得画个虎出来。重要的其实还是几个基本原则。多数设计模式的存在,其实也不只是设计模式,计算机软件这么多年的发展其实就是一个不断增加虚拟层来解决各种耦合问题的过程。但这并不是说遇到耦合就一定要解开,比如工厂模式在一定情况下还可以再进一步使用状态模式解耦,但解了就一定好么,那还要工厂模式做什么,其实我们在做开发的过程中是一个不断寻找平衡的过程,时间和空间,性能和可读性、可扩展性,GC的速度和频率,耦合和解耦。。。;但是,还是用但是补充一下,现实可能没有那么理想,因为找一个解耦程度的平衡点可能并不那么容易,在这种情况下,尽可能的解耦危害要比错误的耦合小得多,写代码的时候妥协和随机应变这种事就不说了。

  3、JAVA并发编程实践和七周七并发模型两本书可以对照着看一下,两本书有很多互补的地方,大家都是做互联网的,并发什么的,书写的很详细,反正知识就是那些知识,运用之妙,在乎一心。不过还是补充一下,最好是有最先说的那三门课程做基础,才能真正透测的看到本质。

  4、深入理解Java虚拟机,这个书是好书,但是发现一个挺坑的事,很多人都是背了用来面试的,背的挺熟,但是联系到实际问题的时候完全不会往这上想,明明连为什么的原因都说出来了,偏偏就是不知道答案,也是醉了。。。

  5、最后推荐一本故事书:淘宝技术这十年,具体有啥用,我也说不上来,能对互联网公司的发展有一个大体的感觉吧。

  最后补充一点,我发现很多同学着急看了一些很好的书,比如大型网站架构之类,书都是很好的书但是刚工作个一年多,看这玩意能学到什么,就算能忽悠点工资,不是说不能看但是这类书其实是概括总结性的,没有实际经验很容易容易变得虚、浮而不自知,简历上大片大片的各种技术,结果一细问,有些甚至连百度结果第一页的程度都做不到。

=============================================================================================

                  微信公众号

posted @ 2016-08-06 22:52  draculav  阅读(207)  评论(0编辑  收藏  举报