在学习Java的过程中,有一些书本被传颂为经典之物,大多数时候,我们在项目需要的时候,用到不那么熟悉的技术,才会去读相关的书籍,以寻找相关的解决方案。
加上互联网资源的发达,网上随处可见的都是各种资料,但网上的大部分都是经过多手流转的信息,我们需要阅读100%的信息,才能找到我们想要10%的有用信息,所以这也是为什么要学会使用搜索引擎的原因。
还有就是,书是读不完的,在有限的时间里收获更多,选择阅读那些过来人觉得不错的书籍是不错的选择。
一、技术书籍
1、《Head First Java》
Java入门的经典书籍,虽然《Java核心技术 卷1》、《Java编程思想》、《Effective Java》也很好,但是还是想推荐入门Java的小伙伴看这本书。
这本书图文并茂,能加深你的学习记忆,对刚接触Java的人来说,是很友好的,不像其他几本技术书,可能你看到一半就放弃了。
2、《算法图解》
本书示例丰富,图文并茂,以让人容易理解的方式阐释了算法,旨在帮助程序员在日常项目中更好地发挥算法的能量。书中的前三章将帮助你打下基础,带你学习二分查找、大O表示法、两种基本的数据结构以及递归等。余下的篇幅将主要介绍应用广泛的算法,具体内容包括:面对具体问题时的解决技巧,比如,何时采用贪婪算法或动态规划;散列表的应用;图算法;K最近邻算法。
学习算法,最重要是易于理解,然后加以思考,这本书没有大跨度的思维跳跃,每次引入新概念时,都立即进行诠释,或者指出将在什么地方进行诠释。作者通过形象的图解解释每一个算法的过程,对入门级的coder来说是一个不错的选择。
3、《深入浅出MySQL》
网易内部高级开发人员写的 Mysql的经典入门书籍,比较全面的入门指南。
数据库的基础、开发、优化、管理维护和架构5个方面对MySQL进行了详细的介绍,每一部分都独立成篇。基础篇主要适合于MySQL的初学者阅读,包括MySQL的安装与配置、SQL基础、MySQL支持的数据类型、MySQL中的运算符、常用函数、图形化工具的使用等内容。
4、《图解TCP IP第5版》
书中讲解了网络基础知识、TCP/IP基础知识、数据链路、IP协议、IP协议相关技术、TCP与UDP、路由协议、应用协议、网络安全等内容,引导读者了解和掌握TCP/IP,营造一个安全的、使用放心的网络环境。
是我看过最形象、最通俗易懂的计算机网络书籍,比我看的《计算机网络 谢希仁》要好,相比《计算机网络 自上而下》没有很深入,但是很适合入门,特别是对计算机网络没有概念的人来说,是一本非常好的书籍。
大量生动的图,比如:
5、《深入理解Java虚拟机》
第1版两年内印刷近10次,4家网上书店的评论近40000条,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。
要在JVM这个领域出书,足以看出作者的功底,作者是资深的Java技术专家,《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。
可以说是 jvm入门必读。
6、《Java并发编程实战》
一本完美的Java并发参考手册。
书中从并发性和线程安全性的基本概
- 如何使用类库提供的基本并发构建块,用于避免并发危险、 构造线程安全的类及验证线程安全的规则,
- 如何将小的线程安全类组合成更大的线程安全类,
- 如何利用线程来提高并发应用程序的吞吐量,
- 如何识别可并行执行的任务,
- 如何提高单线程子系统的响应性,
- 如何确保并发程序执行预期任务,
- 如何提高并发代码的性能和可伸缩性等内容, 最后介绍了一些高级主题,如显式锁、 原子变量、非阻塞算在去以及如何开发自定义的同步工具类。
7、《阿里巴巴开发手册》
《阿里巴巴Java开发手册》是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断的完善,系统化地整理成册,反馈给广大开发者。
阿里作为国内技术的领导者,在互联网的探索之旅上肯定是累积了不少的经验。
本书的作者结合了国内开发者的情况,通俗易懂的介绍了我们日常开发中的注意点,包括命名、代码规范、注释、如何使用线程等等,给出了一把尺子,让我们参照。
码出高效,码出质量,相信也是我们每个coder的追求吧。
二、进阶、架构、性能
8、《Java性能优化权威指南》
Java性能优化圣经!Java之父重磅推荐!
这本书我是看到《深入理解Java虚拟机》的作者 推荐才拜读的,这本书系统而详细地讲解了性能优化的各个方面,帮助你学习Java虚拟机的基本原理、掌握一些监控Java程序性能的工具,从而快速找到程序中的性能瓶颈,并有效改善程序的运行性能。
可以说,Java性能优化的任何问题,都能在这本书找到答案。
但是,阅读这本书,需要有一定的Java功底。
9、《大型网站技术架构:核心原理与案例分析》
作者曾在阿里巴巴担任技术专家,参与阿里巴巴基础技术平台开发和www.alibaba.com架构设计。
通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。
10、《高性能MySQL》
不适合MySQL初学者看,因为太厚,语言很枯燥,理论性强,学术味浓。
对MySQL研究颇深的小伙伴可以试读,DBA必读。
内容涵盖mysql 架构和历史,基准测试和性能剖析,数据库软硬件性能优化,复制、备份和恢复,高可用与高可扩展性,以及云端的mysql 和mysql相关工具等方面的内容。每一章都是相对独立的主题,读者可以有选择性地单独阅读。
三、代码之外的书本推荐
11、 《代码整洁之道》
本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。
作为编程领域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称"启示"),并辅以来自现实项目正反两面的范例。另外,作为一个程序员,Code Review是非常重要的程序员修养。 Code Review对我的成长非常有帮助,
耗叔原话: 另外,作为一个程序员,Code Review是非常重要的程序员修养。 Code Review对我的成长非常有帮助,我认为没有Code Review的公司都没有必要呆(因为不做CodeReview的公司一定是不尊重技术的)
12、《硅谷之迷》
一本颠覆人们对信息时代的认识、对创新和创业的理解的书,解密了美国硅谷互联网企业的成功之谜,揭示了信息时代的特点和方法论。
本书会以时间线为叙述切入点,带你领略一下当年硅谷的互联网公司发展历史。
叛逆精神、多元文化、不甘平庸、对失败的宽容,铸就了一大批卓越的企业,苹果、谷歌、微软、仙童、因特尔…
13、《人月神话》
在互联网行业,生产力到底是什么?1个人干10个月等于10个人干1个月?
一群优秀的人做一件他们热爱的事,一定能取得成功。 最好的软件项目管理不是制定计划,组织资源,跟踪修正项目进展,对成员进行激励和惩罚,而是发掘项目组每个成员的优秀潜能,让大家理解并热爱软件产品最终的蓝图和愿景。
在很多方面,管理一个大型的计算机编程项目和其它行业的大型工程很相似——比大多数程序员所认为的还要相似;在很多另外的方面,它又有差别——比大多数职业经理所认为的差别还要大。