自从技术书的书架设定为“床底下”之后,又多了很多买书的空间。中国什么都贵,就是书便宜。
书架主要针对Java后端开发,书单更偏爱那些能用简短流畅的话,把少壮不努力的程序员所需的基础补回来的薄书,而有些教课书可能很 ,但干涩枯燥,喋喋不休的把你带回到大学课堂上昏昏欲睡。
操作系统与网络的书《Linux内核设计与实现-LinuxKernelDevelopment》RobertLove用最薄的篇幅,顺畅的文字将Linux内核主要的算法讲清楚了,比《深入理解Linux内核》,《深入Linux内核架构》之类厚厚的全是代码的书强到不知哪里去,不是专门的内核程序员看这本足够了。
《Linux系统编程-LinuxSystemProgramming》继续是RobertLove,也是以薄见长,专门针对最重要的系统调用讲解,却甚至比APUE更详细。
《TCP/IP详解卷1:协议-TCP/IPIllustrated,Volume1:TheProtocols》这么多年过去了,TCP的好书好像还是只有这一本。后人在年续写了第二版,目录从30章劲减到18章,很多不需要深入了解的协议都删掉了,机械工业正在翻译。
《现代操作系统-ModernOperatingSystems》如果看LKD未尽兴,可以回头看看这本基础概念,感觉比那本枯燥的《操作系统概念》(恐龙书)读起来舒服。
《深入理解计算机系统-ComputerSystemsAProgrammersperspective》CSAPP,从巧妙的把程序设计及优化、数字电路基础、指令集体系、汇编语言、存储器体系结构等等这一摊来自各不同的学科的核心知识点搅和在一起,并以程序员的视角呈现,正确的直译书名是《程序员所需要了解的计算机知识》。
PS.《UNIX环境高级编程》,APUE更多作为一本超厚工具书存在。《Unix编程艺术》,扯的都是闲篇,厚厚的一本其实略读一下或看些精华笔记就行。
算法的书《数据结构与算法分析-Java语言描述》够薄,数据结构与算法分析的点基本都涵盖了,而且示例代码还是Java写的。
《算法》可与上一本对比着读,厚一些,也多些图,也是Java的。
《算法设计与分析基础》数学系偏爱无比枯燥很多公式的《算法导论》,计算机系喜欢这本实用主义的典型。翻开 章就看到一段很文艺很贴心的话:“效率能用数学的严密性进行精确定义,而简单性就像“美”一样,很大程度取决于审视者的眼光。简单的算法更容易理解和实现,因而相应的程序也往往更少的Bug。当然对于简单性的美学诉求也是让人无法抗拒的。”
PS.《数学之美》、《编程珠玑》,都是专栏文章,讲得并不系统,可以当兴趣读物来看。
Java的书《写给大忙人看的JavaSE8》事实上,为了保持兼容性,很多项目都保持在JDK5/6上,这本书一次过将JDK7/JDK8的更新讲了,是本快捷的升级指南。
《Java并发编程实战》人手一本不用多说了。
《深入理解Java虚拟机第2版》深入理解虚拟机并不是那么难,Java程序员都该看看,很多知识其实是必须的。
PS.《EffectiveJava》外界一致推崇,但好像随便看下就够了。另外《ThinkinginJava》有点旧了,新程序员得同时看两卷《CoreJava》。
架构设计的书《程序员必读之软件架构-SoftwareArchitectureforDevelopers》
codingthearchitecture.北京治疗白癜风好的正规医院白颠疯