【Java】编程技术经典书籍列表
这个列表包括了 100 多本经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。
本列表综合了伯乐在线网站以往推荐经典书籍文章中的列表,以及在微信和微博中被广泛推荐的好书。虽然已经包括了 100 多本,覆盖的面也比较全,仍然有很多方面需要补充,而且相信还有很多没有被收录的好书。欢迎大家在评论中推荐或自荐。
这篇文章主要是分类别推荐了该类别所属的经典书籍列表。每个类别下,从书名就可以看出来,是区分了方向。即使是同一个方向,也侧重点不同。即使侧重点相同,作者讲解的思路也是不同的。请选择自己关注的方向,根据图书的简介选择适合自己的书籍学习。
计算机系统与网络
- 《图灵的秘密:他的生平、思想及论文解读》
- 《计算机系统概论》
- 《深入理解Linux内核》
- 《深入Linux内核架构》
- 《TCP/IP详解 卷1:协议》
- 《Linux系统编程(第2版)》
- 《Linux内核设计与实现(第3版)》
- 《深入理解计算机系统(原书第2版)》
- 《计算机程序的构造和解释(原书第2版)》
- 《编码:隐匿在计算机软硬件背后的语言》
- 《性能之颠:洞悉系统、企业与云计算》
- 《UNIX网络编程 卷1:套接字联网API(第3版)》
- 《UNIX网络编程 卷2:进程间通信》
- 《Windows核心编程(第5版)》
- 《WireShark网络分析就这么简单》
- 《WireShark网络分析的艺术》
编程通用
- 《编程原本》
- 《代码大全》
- 《UNIX编程艺术》
- 《代码整洁之道》
- 《编程珠玑(第2版)》
- 《编程珠玑(续)》
- 《软件调试的艺术》
- 《修改代码的艺术》
- 《编程语言实现模式》
- 《编写可读代码的艺术》
- 《解析极限编程:拥抱变化》
- 《精通正则表达式(第3版)》
- 《编译原理(第2版)》龙书
- 《重构:改善既有代码的设计》
- 《七周七语言:理解多种编程范型》
- 《调试九法:软硬件错误的排查之道》
- 《程序设计语言:实践之路(第3版)》
- 《计算的本质:深入剖析程序和计算机》
- 《设计模式 : 可复用面向对象软件的基础》
算法与数据结构
- 《算法(第4版)》
- 《算法导论(原书第2版)》
- 《Python算法教程》
- 《算法设计与分析基础(第3版)》
- 《学习 JavaScript 数据结构与算法》
- 《数据结构与算法分析 : C++描述(第4版)》
- 《数据结构与算法分析 : C语言描述(第2版)》
- 《数据结构与算法分析 : Java语言描述(第2版)》
职业修炼与规划
- 《大教堂与集市》
- 《卓有成效的程序员》
- 《程序员的职业素养》
- 《程序员修炼之道:从小工到专家》
- 《软件开发者路线图:从学徒到高手》
- 《我编程,我快乐: 程序员职业规划之道》
- 《程序员的思维修炼:开发认知潜能的九堂课》
- 《高效程序员的45个习惯:敏捷开发修炼之道(修订版)》
大师访谈
架构/性能
- 《微服务设计》
- 《大数据日知录》
- 《企业应用架构模式》
- 《Web性能权威指南》
- 《SRE:Google运维解密》
- 《发布!软件的设计与部署》
- 《高扩展性网站的 50 条原则》
- 《大型网站技术架构:核心原理与案例分析》
- 《恰如其分的软件架构:风险驱动的设计方法》
- 《软件系统架构:使用视点和视角与利益相关者合作(第2版)》
Web前端
- 《高性能 JavaScript》
- 《锋利的 jQuery(第2版)》
- 《JavaScript 忍者秘籍》(感谢@joker-danta 补充推荐)
- 《编写可维护的 JavaScript》
- 《你不知道的 JavaScript(上)》
- 《JavaScript 权威指南(第6版)》
- 《JavaScript 语言精粹(修订版)》
- 《JavaScript DOM编程艺术 (第2版)》
- 《JavaScript 高级程序设计(第3版)》
- 《JavaScript 异步编程:设计快速响应的网络应用》
- 《Effective JavaScript:编写高质量JavaScript代码的68个有效方法》
- 《HTML5 权威指南》
- 《HTML5 秘籍(第2版)》
- 《HTML5 与 CSS3 基础教程(第八版)》
- 《CSS 揭秘》
- 《CSS 设计指南(第3版)》
- 《CSS 权威指南(第3版)》
- 《深入浅出 HTML 与 CSS》
Java开发
- 《Java8 实战》
- 《Java并发编程实战》
- 《Java性能权威指南》
- 《Java程序员修炼之道》
- 《实战Java高并发程序设计》
- 《Java编程思想 (第4版)》
- 《深入理解Java虚拟机(第2版)》
- 《Effective java 中文版(第2版)》
- 《Java核心技术·卷1:基础知识(原书第9版)》
- 《Java核心技术·卷2:高级特性(原书第9版)》
.NET
Python
- 《集体智慧编程》
- 《笨办法学Python》
- 《Python基础教程》
- 《Python源码剖析》
- 《Head First Python》
- 《与孩子一起学编程》
- 《Python学习手册(第4版)》
- 《Python Cookbook(第3版)》
- 《Python参考手册(第4版)》
- 《Python核心编程(第3版)》
- 《Python科学计算(第2版)》
- 《利用 Python 进行数据分析》
- 《Think Python:像计算机科学家一样思考Python(第2版)》
- 《Python编程实战:运用设计模式、并发和程序库创建高质量程序》
- 《Python绝技:运用Python成为顶级黑客》
- 《Flask Web开发:基于Python的Web应用开发实战》
Android
iOS
PHP
C语言
C++
- 《C++标准库》
- 《C++编程思想》
- 《C++语言的设计与演化》
- 《C++程序设计原理与实践》
- 《C++ Primer (中文第5版)》
- 《C++ Primer习题集(第5版) 》
- 《C++程序设计语言(第1-3部分)(原书第4版) 》
- 《Effective C++:改善程序与设计的55个具体做法(第3版)(中文版)》
- 《More Effective C++:35个改善编程与设计的有效方法(中文版)》
机器学习和数据挖掘
- 《数据之巅》
- 《矩阵分析》
- 《机器学习》
- 《统计学习方法》
- 《机器学习导论》
- 《推荐系统实践》
- 《机器学习实战》
- 《Web数据挖掘》
- 《深入浅出统计学》
- 《模式分类(第2版)》
- 《概率论与数理统计》
- 《统计学习基础(第2版)(英文) 》
- 《数据挖掘:概念与技术(第3版)》
- 《数据挖掘:实用机器学习工具与技术(原书第3版)》
- 《大数据:互联网大规模数据挖掘与分布式处理(第2版)》
数据库
- 《SQL应用重构》
- 《SQL Cookbook》
- 《高性能MySQL (第3版)》
- 《深入浅出SQL(中文版)》
- 《MySQL技术内幕 : InnoDB存储引擎(第2版)》
- 《深入浅出MySQL : 数据库开发、优化与管理维护》
测试
- 《探索式软件测试》
- 《有效的单元测试》
- 《Google软件测试之道》
项目与团队
- 《人月神话》
- 《快速软件开发》
- 《人件(原书第3版)》
- 《门后的秘密:卓越管理的故事》
- 《极客与团队:软件工程师的团队生存秘笈》
求职面试
编程之外
- 《暗时间》
- 《数学之美》
- 《赢得朋友》
- 《精益创业》
- 《批判性思维》
- 《世界是数字的》
- 《程序员的数学》
- 《程序员健康指南》
- 《禅与摩托车维修艺术》
- 《关键对话:如何高效能沟通》
- 《写作法宝:非虚构写作指南》
- 《黑客与画家 : 来自计算机时代的高见》
- 《软件随想录(卷1)》《软件随想录(卷2)》
- 《如何把事情做到最好:改变全球9800万人的人生指导书》
【Java】编程技术经典书籍列表的更多相关文章
- java、八大经典书籍,你看过几本?
java.八大经典书籍,你看过几本? 转载 一.Java从入门到精通 <Java从入门到精通(第3版)>从初学者角度出发,通过通俗易懂的语言.丰富多彩的实例,详细介绍了使用Java语言进 ...
- 10个实用的但偏执的Java编程技术
在沉浸于编码一段时间以后,你会渐渐对这些东西习以为常.因为,你知道的-- 任何事情有可能出错,没错,的确如此. 这就是为什么我们要采用"防御性编程",即一些偏执习惯的原因.下面是我 ...
- 转载:10个实用的但偏执的Java编程技术
在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常.因为,你知道的…… 任何事情有可能出错,没错,的确如此. 这就是为什么我们要采用“防御性编程”,即 ...
- (转载)10个实用的但偏执的Java编程技术
10个实用的但偏执的Java编程技术 在沉浸于编码一段时间以后(比如说我已经投入近20年左右的时间在程序上了),你会渐渐对这些东西习以为常.因为,你知道的…… 作者:小峰来源:码农网|2015-09- ...
- Java基础知识强化49:10个实用的但偏执的Java编程技术
1. 将String字符串放在最前面 为了防止偶发性的NullPointerException 异常,我们通常将String放置在equals()函数的左边来实现字符串比较,如下代码: // Bad ...
- Java编程技术之浅析SPI服务发现机制
SPI服务发现机制 SPI是Java JDK内部提供的一种服务发现机制. SPI->Service Provider Interface,服务提供接口,是Java JDK内置的一种服务发现机制 ...
- Java编程技术之浅析JVM内存
JVM JVM->Java Virtual Machine:Java虚拟机,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的. 基本认知: ...
- Java编程技术之浅析Java容器技术
Java容器 集合是一种存储数据的容器,是Java开发中使用最频繁的对象类型之一. 或许提起Collection,都会第一时间意识到List和Set以及Map等相关关键词.因为这几乎是我们日常开发里接 ...
- Java编程中经典语句收录
1.spring系列:约定优于配置(习惯大于配置): 2.Java:一次编译,处处运行 3.Unix:没有消息就是好消息
随机推荐
- GDAL中通过GDALDriver类的Create函数实现图像的保存
GDAL中除了读取各种类型的图像外,也可以实现对各种图像的保存操作,具体实现测试代码如下: int test_gadl_GDALDataset_write() { const char* image_ ...
- MSP430的JTAG接口和BSW接口
1.JTAG口,JTAG引脚如下定义: 单片机TCK——测试时钟输入,接仿真器7脚 单片机TDI——测试数据输入,接仿真器2脚 单片机TDO——测试数据输出,接仿真器1脚 单片机TMS——测试 ...
- bzoj1854 [Scoi2010]游戏 ([SCOI2010]连续攻击游戏)
bzoj1854 [Scoi2010]游戏 ([SCOI2010]连续攻击游戏) 据说正解是并查集???我不会 这不是一道匈♂牙利好题吗??? 一个装备的两个属性都向它连边,然后跑一遍匈♂牙利 注意: ...
- IDEA 配置Junit4
Junit4 主要用来执行java程序的单元测试: 1 安装junit4插件 因为我安装过了,没有安装的再输入框搜索,然后安装就行 2 选择默认使用Junit4 3 红框中的test去掉,变为“$en ...
- JMeter与WireShark
最近在学习JMeter,刚学了一点皮毛,就掉入了WireShark的坑,我发现在学习的道路上就是不断的给自己挖坑,之前在学习LoadRunner的道路上,遇到的坑更大,就单纯的安装LR就耗费了两个星期 ...
- Appium + java截图方法
public static void takeScreenShot(AndroidDriver<WebElement> driver) { File screenShotFile = dr ...
- Python数据结构 将列表作为栈和队列使用
列表作为栈使用 Python列表方法使得列表作为堆栈非常容易,最后一个插入,最先取出(“后进先出”).要添加一个元素到堆栈的顶端,使用 append() .要从堆栈顶部取出一个元素,使用 pop() ...
- fastCMS数据库相关操作类
fastCMS针对数据库的操作有以下几个类: 1.[paging_Class]分页类 此类用于分页检索数据库内符合条件的记录 1) 支持百万级数据分页 2) 支持多种类型的SQL语法,比如 Left ...
- Harbor配置https,并安装内容信任插件(notary)
1.配置https https://github.com/goharbor/harbor/blob/master/docs/configure_https.md 2.harbor安装notary插件 ...
- Visual Studio 调试时无法命中断点
1.查看代码优化是否勾选,如有去掉勾选 2.确保是在Debug模式下设置的断点 3.确保在启动时未修改代码即“要求源文件和原始版本完全匹配” 4.DLL的引用问题