从2010年开始接触Android开发,转眼走过了8个年头,做为几乎是首批尝鲜Android平台的老码农,水平却没有曾长到与经历相匹配的程度,甚是遗憾,不过这期间接触过很多的牛人,他们给与了我很多启发和指导,在此鸣谢。 以前csdn上读过一个帖子,是一个更资深的老牛给出的他读过的书单,我没有那么博学,涉及的面也没有那么广,仅仅做为一个目录,给没读过的朋友填填坑。 我大部分时间作的Android原生开发,期间有过8个月的H5经验,同时作过大约三年的团队管理,其余的端都是自学,比较皮毛,能够忽略了。 我会把读过的书都列出来,大体分为可读性高和不高两类,供朋友鉴选,同时把做者标注出来,我的建议,仅供参考。java
《深刻理解Java虚拟机》(周志明)android
随着对Android理解的逐渐深刻,对这个平台的原生开发语言Java的欲求愈加的不满,这本书是12年买的,那阵对书中的概念含糊不清,因此至关于白看,近两年从新翻开以为很有收获,JVM机制所涉及的东西须要系统化,大体能够分为加载编译过程,内存分配和回收,内存模型等几个模块,比较碎片化,不系统的概括很容易遗忘。git
《大话数据结构》(程杰)web
比较经典的书了,由于写的通俗易懂,涉及的知识点不深,能够做为入门书籍,看了三四遍,还由于书中没有关于红黑树的介绍特地给做者发邮件询问是否还有后续版本,获得回复:工做太忙,并且工做与这个没什么关联,因此没有计划出新版。:-D 好吧。 数据结构和算法若是不从事专业工做中的话,确实不会用太多,只是互联网大厂对于这种东西通常必考,并且逐渐了解后是很是有意思的东西,有利于开拓思惟嘛。面试
《数据结构与算法分析-java语言描述》(Mark Allen Weiss)算法
也是算法和数据结构,内容比上一本全一点(例如我关注的红黑树),同时也枯燥了一点,规规矩矩讲课。数据库
《移动App性能评测与优化》(腾讯TMQ团队)后端
我关注了很多大厂的公众号,例如QQ音乐、bugly、美团等,这本书是公众号里推荐的,顺手买的。 说实话,书中讲的东西专业性比较强,但过于理论,能够实践的东西很少,同时里边涉及原理的东西例如dalvik内存机制能够去看更专业全面的书,因此这本里边的东西能够简单看看当作聊天吹牛的谈资便可。设计模式
《Android Dalvik虚拟机结构及机制剖析I和II卷》(张国印)浏览器
这书很薄,版本比较老,但原理机制的分析永远不会过期,全书分为两卷,第一本基础铺垫,第二本比较核心,十分详细的介绍了类加载机制,内存管理,反射原理及其实现,解释器模块,用行话说就是比较干货。同时仍是那个问题,由于就是原理,碎片化的东西,虽然内容很少,若是不系统化很容易忘。
《深刻理解Android内核设计思想》(林学森)
比较厚,比较全,从如何下载源码并编译开始,到操做系统基础,而后到Android进程/线程管理,同时讲解AMS和WMS机制,再到View体系,inputmanagerService事件的流动,甚至还讲了点git的东西。 书是以前公司CTO送个人,这位大佬如今在TX任职,级别很高...因此他推荐的东西不会差。 这本书不是入门书籍,描述了Android的启动加载过程,讲得比较透,可是仍然不会那么深,比较适合应用层开发的朋友增长深度。
《HTTP权威指南》(David Gourley / Brian Totty)
经典书籍,书很厚,可是很浅,带你入门绰绰有余,做为离用户最近的应用层协议,http的发展值得关注,起码应该抓包看看你发送和接收的所谓的请求都包含了些什么。
《Effective Java中文版》(Joshua Bloch)
如今对这本书咬牙切齿,我是先看了两遍中文版的pdf,而后犹豫着买了,我也在京东的订单里评价了:翻译的跟屎同样。但是没办法,英文水平只能读读文档,读整本书仍是费劲,也看不下去。 不少人对这本书见仁见智,尤为是java版本的不断更新,也颠覆了以往的认知,有些东西更是没法辩出个结果。 单从设计角度来讲不失为一本好书,如书开篇介绍能够用工厂模式代替传统的实例化。 书的内容很少,而且若是你是个老油条的话,书中的不少技巧你已经烂熟于胸了。
《webkit技术内幕》(朱永盛)
2015年创业的时候的产品是轻应用,由此展开了一番学习,了解浏览器内核相关,并听闻一个传说:360浏览器的开发者是一我的生啃了webkit内核后作出来的,并所以晋升到了VP,就当故事听吧。 底层原理的书很差懂,有兴趣的朋友能够一试,否则就别轻易涉水了。
《重构-改善既有代码的设计》(Martin Fowler)
经典书,三年做为一个分水岭,应该对代码设计有一个初探了,Android开发的架构一步步演变从MVC到MVVM,无非都是嚼别人吃过的东西,可是把简单的事作好的人很少,响应式,生命周期,模板加泛型,是我对此的理解,你的层次决定着你对架构的驾驭能力。
《软件架构》(Mourad C哈巴呢Oussalah)
粗粗翻了一遍,我没有什么后端开发基础,不太好领略其中的精神,买了看下就扔那了。
《图解HTTP》和《图解TCP/IP》(一个小日本)
插画式的小人书,感受没什么养分。
《Head First 设计模式》(Freeman,E)
设计模式,老生常谈,每次面试都会被问到设计模式么,而且级别越高就问的越详细,当别人问你用过什么设计模式的时候还会这么回答吗?单例,数据库都这么设计;监听者,button设置事件 ; 建造者,构造多属性复杂实体 ; 适配器,adapter.... 对方可能直接把你定性为一年工做经验。 binder通讯的方式使用了不少设计模式,代理,原型,工厂 balabala....
《Android 安全架构深究》(Nikolay)
2015版本的,翻译的还算ok,翻了前几页其中一个知识点就吸引了我,binder做为android IPC的主要方式,为何效率高一些(只拷贝一次数据),用简短的话语就说明白了。 此书做为android架构的书描述的没有特别详细,适合有必定虚拟机知识的朋友来看。
《鸟哥的Linux私房菜》(鸟哥)
我只买了服务器架构篇,以前在centOS上干了点活儿,好比搭建android的编译环境,布个Jenkins,搭个nexus maven,配置个防火墙啥的,虽然都比较简单,但对于没有什么基础的人来讲,譬如我着实比较费劲,特此买原本看看加强本身的信心,我没有买基础篇,一些命令和常识只从平时的点点滴滴积累下吧 。
。。。。 未完待续,我会常常补充,我看书比较勤