那些时光
噢,很久没有看过书了——此刻的你心里是否会发出这样的感慨?
我们总是怪工作太忙,总是怪应酬多、活动多;今天想着去哪玩,明天想着约妹纸……究竟什么时候会想着好好地静下心来翻一翻上面早已布满灰尘的书呢?
我理解,那部电视剧确实很精彩;我理解,那游戏确实很好玩。但是当某一天,你会发现越来越跟不上项目的节奏,越来越看不懂同事使用的什么技术竟然可以把一个复杂的功能实现得这么优雅,越来越听不懂同事茶余饭后讨论的究竟是什么鬼……一天天过去了,你会越来越恐慌:为什么感觉自己对这些东西一无所知呢?
都说书中自有黄金屋,你怎么就不信呢?
就拿 IT 行业来说,技术的发展日新月异,技术的进步大步流星,稍微不注意就掉队了。而如何才能让自己跟上技术前进的步伐呢?读书无疑是个好的起步。不要满足于现状,读书越多,你越会明白自己知道的少。
那些经典
好吧,闲话就不多说了,今天主要就是想给大家推荐一些最近半年来看过的 Java 系书籍(其中有几本已经读过多遍),希望能丰富一下大家的书单。
本文仅对每本书做简单介绍,里面的精华我是希望留给各位看官仔细去阅读去琢磨。另外,本人亦有计划后续推出每本书的重点知识总结,欢迎持续关注~~
以上所列书籍,大部分本人都有 pdf 电子书,在此不便直接放出下载链接(建议购买正版书籍阅读)。如有需要,请留下邮箱,本人将所有 pdf 电子书的下载链接发到您邮箱。
Java 领域最有影响力和价值的著作之一。其中《卷1》主讲基础知识,全面讲解 Java 语言的核心概念、语法、重要特性和开发方法,是 Java 入门必备,重在理论,可多刷,打下坚实基础。《卷2》主讲高级特性,深入解析 Java 中的高级特性和开发技巧,是 Java 进阶必备,重在实践(不要偷懒,实践出真知)。
神书!!!Java 并发编程的最佳指导和实践力作,即便你对并发编程有了很深的理解,本书也能使你提高一个层次。此外,个人认为如果你对并发编程已经有了一定程度的掌握,阅读起来会容易理解一些;如果你毫无基础,建议你先掌握 Java concurrent 包下面的多线程基础功能再来阅读此书,会有令人惊喜的效果喔~
4. 《Java NIO》
详细介绍了 Java NIO 的核心概念和特性,循序渐进简单易懂,即便你是小白也能很好的理解,且书中有很多代码块,可以很方便的帮助你进行实践。推荐阅读前4章。
嗯,没看错,这是一个 PPT,它以制作精良的幻灯片介绍 JVM 体系结构、GC 算法、Hotspot 内存管理、调优和各种监控工具等,绝对是良心之作。可直接进入此文阅读《46张PPT讲述JVM体系结构、GC算法和调优》。
如果说上面的 PPT 描述的不够详细,那这本书将给你你想知道的细节。本书的亮点在于结合代码讲解各种内存溢出异常及其原理,通过代码实例解释内存分配和回收机制,并详细介绍了几种虚拟机可视化监控工具的使用,理论与实践并重。
其中后面两本只有 pdf 电子书。以上皆为李林锋所作,如果你不认识他,那我完全有理由怀疑你没接触过 netty……其实你在学习 netty 时,那些高质量的文章基本上都出自此人之手(佩服),而且很多文章都收录在上面三本书中,某种程度上你或多或少都算读过他的书。李林锋的文章有个特点,就是讲的很详细,而且巨多源码分析,有些时候你可能会跟不上他的思路,但没事,多读几遍多写代码,你就懂了……给我最深刻印象的,应该就是书中对各种网络通信模型的描述,可以说是教科书般。另外,netty 5.x 暂时被废弃了,具体原因,因此建议现阶段继续使用 netty 4.x 版本。
神书!!!再多的描述都是苍白的,不读个两遍以上都是对作者的不尊重……推荐阅读《卷1》,对于大部分开发人员来说掌握《卷1》的知识已经足够了,但想完全理解透也是需要花很多功夫的;如果你连《卷2》、《卷3》都掌握了,基本上在 TCP/IP 协议这方面可秒杀绝大部分人……没读过这本书的话,记得千万不要跟别人说你懂 TCP/IP 协议。
以上三本书的作者皆来自淘宝。淘宝的体量无需多说,在它从一个小网站一步步发展到中国最大的电商平台的过程中,你能想到的问题基本上他们都经历过,因此它的技术和业务沉淀是相当醇厚的。三本书都是以 web 网站系统为主题,其中不乏重复的知识点,但是每本书的侧重点却不太一样。《大型网站系统与Java中间件实践》主讲支撑大型网站架构的 Java 中间件的设计和实践,对热衷于中间件开发的童鞋有很好的指导意义。《深入分析Java Web技术内幕》主讲 Java Web 基础知识,但是涉及的面却非常广而且深入,可以看出写的非常用心。《大型网站技术架构:核心原理与案例分析》是我非常喜欢的一本书,能够将很多晦涩的概念讲的通俗易懂,全方面阐述如何构建高可用、高性能、高伸缩性和高扩展性的网站系统,并对多个典型的大型网站系统架构设计的案例进行分析,保证让你爱不释手。
pdf 电子书。适合分布式小白入门的一本读物,精心选择了部分在工程实践中应用广泛、简单有效的分布式理论、算法和协议,偏理论。其中分布式系统中常见的如副本控制协议、Lease机制、Quorum机制、2PC 以及 Paxos 协议等在文中都有较详细的介绍。
如果说上面的《分布式系统原理介绍.pdf》是入门书,那这本可以算是进阶书。本文对2PC、3PC 和 Paxos 协议进行了详细的分析与对比,对 Zookeeper 基本概念和技术模型、ZAB 协议以及 Zookeeper 应用场景进行了详细描述,同时提供了大量实践源码(如Zookeeper 安装、Java 客户端 API 使用等),形成一套完整的从理论到实践的体系。理论与实践兼重,强力推荐!
3. 《ActiveMQ in Action》
这是关于 ActiveMQ 的书(英文),并且是我目前看到的最好的。从 JMS 开始讲起,到ActiveMQ 的配置与部署架构,再到 ActiveMQ 的高级特性,通俗易懂又非常详细,是学习并使用 ActiveMQ 的首选。另外,我不得不在这说一句,如果你觉得自己英文阅读水平不是很好,想找所谓的《ActiveMQ in Action中文版》,请直接放弃吧!那些打着《中文版.pdf》的都是忽悠人的,基本上没太多阅读价值。建议你直接看英文版,一方面阅读起来真的不难,另外就是你可以获取到第一手信息,而不是被其他人翻译(污染)过的。(其他英文书籍也是尽量阅读原著,当然很多著作的中文版也是很给力的!)
另外,本人最近较为深入地研究了ActiveMQ 并在生产环境中使用,踩过不少坑,将抽时间总结一下分享出来。最近需要使用并担心有坑的童鞋可咨询本人。
mysql 领域的经典之作,你的书架里必须要有这本书。不要认为掌握了那些基本的用法、能够满足普通工作所需就可以了,这本书将会告诉你你知道的太少了!个人认为这本书不仅仅能让你深度掌握 Mysql 相关知识,你还能从中学到很多思想,而这些思想是可以广泛应用到其他数据库及数据库应用上的。
大数据
1. 《决战大数据》
阿里副总裁车品觉老师所著,不讲具体的大数据技术,而是从一个大数据运营践行者的视觉来讲大数据的本质、数据处理的核心思想以及阿里巴巴数据运营的“内外三板斧”。文章并非枯燥的学术性论文,作者在文中加入很多工作小案例对观点进行引出、阐述或佐证,过渡自然,即使读者毫无大数据运营经验,亦能轻松把握关键思想。关于此书的内容精粹,可阅读《用数据找机会—<决战大数据>精粹》。
很好的 Spark 入门书,没有晦涩的 Spark 源码分析,也不是泛泛而谈的空洞之物——作为初学者,这就是它最能吸引我的地方。此书通过丰富的实例,对Spark 中不变的思想就行深入剖析,让读者能够快速而透彻的理解 Spark 运行机制,并且其内容基本上覆盖了整个 Spark 生态系统,读完定会对 Spark 生态体系有很好的了解与认知。
3. 《白话大数据与机器学习》
本文为头条号作者发布,不代表今日头条立场。