书籍推荐 Git 数学 汇编语言 C语言 C++ HTML/CSS JavaScripe Java语言 JavaWeb 分布式 云计算 大数据 Android 数据结构与算法 计算机网络 数据库 操作系统 设计模式 Linux使用/基本Shell编程 非技术类的书

  1. 《权威指南》

数学

  1. 《程序员的数学》(有三本)

汇编语言

  1. 《汇编语言-王爽》

可以做教材,也可以是自学,讲的比较详细,认真看认真完成练习能起到不错的效果

C语言

  1. 《C Primer Plus》
  2. 《明解C语言》

C++

  1. 《C++ Primer Plus》

HTML/CSS

JavaScripe

  1. 《JavaScripe高级程序设计》
  2. 《JavaScripe DOM 编程艺术》
  3. 《锋利的jQuery》
  4. 《JavaScripe权威指南》
  5. 《高性能JavaScripe》

Java语言

  1. 廖雪峰Java教程

没事可以看一下,当作查漏补缺。

  1. 《Java核心技术(Core Java)》
  2. 《Java编程思想》
  3. 《Effective Java》
  4. 《Java核心技术卷一》
  5. 《突破Java程序员基本功的16门课》
  6. 《深入理解Java虚拟机》
  7. 《实战Java高并发程序设计》
  8. 《Java并发编程实战》
  9. 《Java并发编程艺术》
  10. 《Java性能调优指南》

JavaWeb

  1. 《How Tomcat works》
  2. 《Tomcat架构解析》
  3. 《Spring 实战》
  4. 《Spring 源码深度解析》
  5. 《Spring MVC学习指南》
  6. 《Maven实战》

分布式

  1. 《分布式Java应用》
  2. 《大型网站技术架构》
  3. 《大型分布式网站架构设计与实践》
  4. 《分布式服务框架原理与实践》
  5. 《大型网站系统与Java中间件开发实践》
  6. 《从Paxos到ZooKeeper分布式一致性原理与实践》
  7. 《大规模分布式存储系统》

云计算

  1. 《OpenStack设计与实现》
  2. 《Docker技术与实战》
  3. 《Kubenetes权威指南》

大数据

  1. 《大数据技术原理与应用》
  2. 《Hadoop实战》
  3. 《Hadoop权威指南》

Android

  1. 《第一行代码》
  2. 《Android高级工程师进阶》
  3. 《Android研发录》
  4. 《Android开发艺术探索》
  5. 《Android进阶之光》
  6. 《打造高质量Android应用》
  7. 《Android应用性能优化》
  8. 《安卓内核剖析》
  9. 《深入安卓卷1》
  10. 《深入安卓卷2》
  11. 《Android系统源代码情景分析》

数据结构与算法

入门

  1. 《大话数据结构》
  2. 《算法图解》
  3. 《数据结构与算法分析 C语言描述/C++语言描述/Java语言描述》
  4. 《算法导论》
  5. 《数据结构与算法》java语言版

经典

  1. 《算法 第4版》
  2. 《算法导论》

面试必备

  1. 《剑指offer》
  2. 《编程珠玑》
  3. 《编程之美》

课外阅读

  1. 《算法帝国》
  2. 《数学之美》
  3. 《算法之美》

计算机网络

  1. 《TCP/IP详解 卷1:协议》
  2. 《计算机网络:自顶向下方法》
  3. 《图解TCP/IP》《图解HTTP》
  4. 《计算机网络 -谢》

数据库

入门

  1. 《深入浅出Mysql》
  2. 《MySQL必知必会》
  3. 《SQL学习指南(第2版 修订版) 》
  4. 《SQL必知必会》
  5. 《数据库系统概念》

进阶

  1. 《MySQL技术内幕——InnoDB存储引擎》
  2. 《Redis设计与实现》
  3. 《SQL语言艺术》
  4. 《SQL反模式》
  5. 《ZooKeeper:分布式过程协同技术详解》
  6. 《Redis实战》
  7. 《Redis设计与实现》

强化

  1. 《高可用MySQL(第2版)》
  2. 《高性能MySQL(第3版)》
  3. 《Oracle高效设计》
  4. 《Oracle编程艺术:深入理解数据库体系结构(第3版)》

操作系统

  1. 《深入理解计算机系统(CSAPP)》
  2. 《现代操作系统》

设计模式

  1. 《Head First设计模式》
  2. 《大话设计模式》
  3. 《设计模式:可复用面向对象软件的基础》
  4. 《设计模式之禅》

Linux使用/基本Shell编程

普通书籍

  1. 《Linux Tools Quick Tutorial》

http://link.zhihu.com/?target=https%3A//linuxtools-rst.readthedocs.io/zh_CN/latest/index.html%23
其实我不喜欢一开始就看很厚的那种砖头书,很容易让人丧失兴趣。所以我首先推荐一本小而美的电子书,基本花个几天就能看完,并对 Linux 系统有个初步的了解

  1. 《Linux从入门到精通》

一般来说,XXX从入门到精通,21天精通XXX,这类书我都是嗤之以鼻的。一开始我看到这本书,也以为是这个流派的,但拿到手翻看一下,发现它还是相当与众不同的。我就觉得它就不该叫这个名字,否则会影响别人对它的印象。这本书不仅覆盖了以上所讲的几个方面,还讲了很多服务器的基础知识,非常适合入门。而且,它还贴心地录制了12.5小时的教学视频,并搭赠Ubuntu安装光盘的镜像文件,而且另外赠送31.5小时Linux专题学习视频。
作者:程序员良许 链接:https://www.zhihu.com/question/30328004/answer/751243297 来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  1. 《鸟哥的Linux私房菜》

不必多说,很厚,可以做入门的第二本书来看,第一本书新人怕是顶不住。

  1. 《Linux命令行与shell脚本编程大全》

这是一本关于Linux命令行与shell脚本编程的全方位教程,主要包括四大部分:Linux命令行,shell脚本编程基础,高级shell脚本编程,如何创建实用的shell脚本。shell编程讲的十分细致,但也正因为如此有读者表示讲解的太过繁琐。

  • 《Linux Shell脚本攻略》

这本书我也很推崇,因为它很薄。书中的很多技巧一旦掌握了,一定会对你的工作大有帮助。不同于其他书籍的是,本书没有长篇大论,都是由许多小技巧组成。

  • 《Linux命令行大全》

这本书据说是最好的Linux命令、Shell编程的书籍,在网络上的口碑非常好,但我没看过。网友评价:这本书简直是为Linux初学者量身定做。结构编排循序渐进,重点难点反复出现、有利于巩固消化;而且,就算是没有任何Linux经验,也可以在作者的引导下一步步进入到Linux的殿堂。
作者:程序员良许 链接:https://www.zhihu.com/question/30328004/answer/751243297 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 《Linux就该这么学》

这本书我比较推崇,因为它不厚,重点比较突出,而且覆盖了绝大部分重点知识。我在公众号里做过很多次活动赠送这本书,老读者应该都知道。这本书同样有官网,可以在线免费看这本书,可以先去官网体验一下再决定要不要买。《Linux就该这么学》 - 必读的Linux系统与红帽RHCE认证免费自学书籍
作者:程序员良许 链接:https://www.zhihu.com/question/30328004/answer/751243297 来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Linux应用开发

  1. 《Linux程序设计(第4版)》

万千读者推荐的Linux经典入门书、程序设计实战型图书,以简单易懂、内容全面和示例丰富而受到广泛好评。如果你没有Linux基础,可以先读这本。话说回来,虽然这一本很全面,但是在很多问题上讲的并没有很深入,读完这本书只能让你初步接触Linux,接着你可以再去读APUE可能会比较合适一点

  1. 《UNIX环境高级编程》

《UNIX环境高级编程》是 Unix/ Linux 程序员案头必备的一本书籍,就连谷歌总裁佩林的书架上都放着这本书,可以说,Linux 程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。这本书概括了 Linux 编程所需的一切理论框架、主要系统函数、多进程编程、乃至 Linux 网络通信。

  1. 《Unix/Linux编程实践教程》

如果你有一点C语言基础还有一点Linux的使用基础,那么看这本书,你将会觉得十分享受,本书的作者用一种很好的学习方式来向读者讲述,并按着能做什么->怎么做->我能不能实现这样一个原则来教授。而且书中的案例非常具有代表性,有常用Unix命令的实现,小视频游戏,shell解释器,还有实现简单功能的Web服务器。代码也清晰明了,看完之后一定让你豁然开朗

  • 《Unix网络编程(UNP)》

Linux底层开发

  1. 《深入理解 Linux 内核》

《深入理解Linux内核,第三版》指导你对内核中使用的最重要的数据结构、算法和程序设计诀窍进行一次遍历。通过对表面特性的探究,作者给那些想知道自己机器工作原理的人提供了颇有价值的见解。书中讨论了Intel特有的重要性质。相关的代码片段被逐行剖析。然而,本书涵盖的不仅仅是代码的功能,它解释了Linux以自己的方式工作的理论基础。

  1. 《Linux内核设计与实现》

这本书详细描述了Linux内核的主要子系统和特点,包括Linux内核的设计、实现和接口。从理论到实践涵盖了Linux内核的方方面面,可以满足读者的各种兴趣和需求。这本书的定位没有很高,适合过渡阶段的内核学习者阅读。

  1. 《深入Linux内核架构》

相对而言,这本书既不像《深入理解Linux内核》那么枯燥,也不像《Linux内核设计与实现》泛泛而谈,书中的内容很好地抓住了内核代码中的核心,而且图文并茂,对于一些复杂的数据结构和函数执行流程书中采用用图片刻画的形式,让读者一目了然。

  1. 《ARM Linux内核源码剖析》

本书是多位作者在3年Liunx内核分析经验和庞大资料基础上写成的,收录了其他同类书未曾讲解的内容并进行逐行分析,一扫当前市场中其他理论书带给读者的郁闷。书中详细的代码分析与大量插图能够使读者对Linux内核及ARM获得正确认识,自然而然习得如何有效分析定期发布的Linux内核。

  1. 《Linux系统编程(第2版)》

这是一本关于Linux系统编程的教程,也是一本介绍Linux系统调用的手册,还是一本如何实现更优雅更快代码的内幕指南。全书分为11章和2个附录,详细介绍了Linux系统编程基本概念、文件I/O、缓冲I/O、高级文件I/O、进程管理、高级进程管理、线程、文件和目录管理、信号和时间等主题。

  1. 《嵌入式Linux应用开发完全手册》
  2. 《Linux设备驱动开发详解》
  3. 《Linux内核源代码情景分析》

非技术类的书

  1. 《麦田里的守望者》
  2. 《小王者》
  3. 《少年维特》
  4. 《世界因你而不同》