作者:Listen
listenzhangbin.com/post/2016/12/my-2016-book-list/
(点击文末阅读原文即可前往)
临近年底,最近公司也开始年终的绩效考评了,想想2016年马上就要过去了,我也来个2016年的总结吧,列下我2016年看过的技术书, 每本书都会附上一些简单地书评和链接,并会有我个人主观的推荐指数,仅供参考,图就不贴了,有兴趣的同学可以点链接去看详情。
计算机基础
虽然现在新技术曾出不穷,但是万变不离其宗,所有的技术实现都离不开数据结构、算法、计算机系统、编译原理等等这些计算机基础, 所以有深厚的计算基础知识就显得越来越重要了。
《深入理解计算机系统》
推荐指数:★★★★★
链接:https://book.douban.com/subject/5333562/。
学习计算机底层原理经典的一本书。它从计算机底层硬件开始说起,到处理器、虚拟存储等,到最后的使用C语言来实现一些应用,比如网络编程、并发编程,深入浅出。 这本书讲的还是比较底层的,所以尽管从头到尾看了一遍,说实话感觉自己可能看懂了最多只有一半,但是依旧收获很大,如果想了解计算机系统底层知识的同学推荐看看这本书。
《数据结构与算法分析:Java语言描述》
推荐指数:★★★★
链接:https://book.douban.com/subject/3351237/。
这本书可以作为学习算法的一本入门书籍来看,书里面介绍了一些常用的算法实现和原理,由于我比较熟悉Java,所以选了这本书,当然,这本书也有C语言描述的版本, 大家可以根据自己的情况选择。
《算法》
推荐指数:★★★★★
链接:https://book.douban.com/subject/10432347/。
这本是我最推荐的学习算法的书籍,虽然像《算法导论》也是非常经典的学习算法的书籍,但是比较偏理论,而这本书有许多实际可运行的例子,讲的非常深入浅出, 不会感觉很枯燥,对算法和数据结构的实现的阐述也非常清楚,让人看得明白,是一本算法相关的好书。当初我在看的时候比较急,有许多地方没能完全理解, 有时间还要回过头来重新学习。
编程语言
由于平时工作是以Java为主,所以编程语言这块看的书还是以Java相关的为主。
《Java核心技术:卷一 基础知识》
推荐指数:★★★★★
链接:https://book.douban.com/subject/25762168/。
非常好的学习Java语言的入门书籍,这是我学习Java看的第一本书,如果别人问我如何学习Java,那么我一定会推荐他先看这本书。
《Java编程思想》
推荐指数:★★★★★
链接:https://book.douban.com/subject/2130190/。
这本书相信不用多说,做Java的应该都知道这本书吧,非常经典的一本学习Java语言的书籍。比较适合在学习了《Java核心技术:卷一 基础知识》之后, 用来进阶学习Java的一些语法和特性,这也是唯一一本今年看了两遍的书,每一遍看都有很大的收获,以后有时间会再回过头来看这本书,强烈推荐。
《Effective Java》
推荐指数:★★★★★
链接:https://book.douban.com/subject/3360807/。
又是一本非常经典的书籍,《Effective Java》的作者是鼎鼎大名的Joshua Bloch,看过JDK源码的同学应该会经常看到这个名字,他是Sun公司参与开发 Java的杰出工程师。书中总结了一些Java开发过程中的最佳实践,有许多都是在实际的开发过程中会面临的问题,这个时候就可以参考《Effective Java》中 给出的最佳实践的建议,是一本非常好的参考书。看这本书需要有一定的实际项目开发经验的积累,如果开发经验较少的话可能对书中列举的情况没有那么深 的感触。
框架
Java语言要学习的框架无疑就是Spring了,因此我看的框架层面的技术书基本都是Spring相关的书。
《Head First Servlet&JSP》
推荐指数:★★★★★
链接:https://book.douban.com/subject/1942934/。
前面提到了理解原理的重要性,学习框架就是一个很好的例子。虽然Java框架有很多,但是其实所有的框架都是基于servlet的封装, 所以在学习框架前先来学习以下原生的servlet是很有必要的。而这本书就是很好的学习servlet的入门书,有实际的例子加深理解, 也有servlet原理的说明。在学习了servlet之后再去学框架会更加的游刃有余。
《Spring实战》
推荐指数:★★★★
链接:https://book.douban.com/subject/26767354/。
由于《Spring实战》第四版才刚出来不久,而我看的是第三版,第三版针对的是Spring的3.X版本,而Spring的最新版本是4.X,因此有些代码都不能正常运行了, 所以这本书我也只是匆匆看过,相信第四版中因该不会有这样的问题,xxx实战的书都是不错的。
《Spring揭秘》
推荐指数:★★★
链接:暂无
这本书给了3星,并不是说书不好,而是这本书已经有点太老了,主要讲的是Spring2.X的版本,当初也是看到别人推荐才去看的, 现在来看可能已经有点不合适了,但是书还是写的很好的,讲了很多Spring的架构以及实现的原理,这些是通用的,尽管版本差的比较多, 但是Spring整体的架构和实现还是类似的。
《Spring Boot实战》
推荐指数:★★★
链接:https://book.douban.com/subject/26762595/。
Spring Boot是最近比较流行的基于Spring的一个Web框架,相比Spring MVC而言,它最大的特色就是自动配置以及Java Config, 不像在使用Spring MVC的时候需要大量的XML配置,使用Spring Boot只需要很少的配置甚至是不需要配置,而且配置也基本是使用Java Config, 而不是XML文件的方式,简化了开发。
而且Spring Boot本身自带Web容器,打包成一个Jar包独立部署,也比较符合现在流行的SOA的架构。 《Spring Boot实战》这本书比较多的是贴代码教你如何使用,个人感觉比较一般,如果有时间的话可以直接去看Spring Boot的官方文档来学习。
Maven
Java中流行的构建工具就是Maven和Gradle,Web领域还是Maven更流行一点,因此我也是学习的Maven。
《Maven实战》
推荐指数:★★★★★
链接:https://book.douban.com/subject/5345682/。
这本书是一位国内的Maven专家写的,写的非常好,个人认为学习Maven看这一本书就够了,这本书既教你如何使用Maven,也教你Maven的一些原理和概念, 以及如何扩展Maven。如果要学习Maven的话,强烈推荐此书。
Redis
Redis是现在最流行的NoSQL之一,一般用来做缓存服务,实际项目中基本都会使用到Redis,可以说是必学的工具之一。
《Redis实战》
推荐指数:★★★★★
链接:https://book.douban.com/subject/26612779/。
又是一本xxx实战的书籍,书中从基本的Redis常用指令开始介绍起,以及使用Redis的一些场景和例子,是一本学习如何使用Redis的好书。
MySql
MySql是最常用的数据库,尽管现在流行各种NoSql,但是传统的RDBMS,比如MySql的事务、强一致性等特性还是无法取代的。
《MySql必知必会》
推荐指数:★★★★
链接:https://book.douban.com/subject/3354490/。
非常短小精悍的一本书,可以当作手册来翻阅,也可以用来复习一些常用MySql操作,当然也同样适合入门学习MySql。
HTTP
作为Web开发者,熟悉HTTP协议是非常重要的,因为关于HTTP我也挑选了一本书来学习。
《图解Http》
推荐指数:★★★★
链接:https://book.douban.com/subject/25863515/。
也是一本短小精悍的书,没有介绍什么深奥晦涩的内容,都是非常常用和基础的HTTP知识,并且有许多的插图,感觉是一本比较偏科普的书籍, 如果真想深入学习HTTP,还是推荐《HTTP权威指南》,以及《TCP/IP协议》等等。
小结
最后做一个简单的小结,总体来说2016年看的技术书还是比较偏应用层、偏基础,当然,学习技术肯定是要先学会怎么用,然后再去探寻其中的实现原理, 学习了原理之后要能做到触类旁通,把学到的技术能运用在实际的工作中,最好能模仿造一些轮子,加强理解。
在微信公众号内回复数字“1”
小编拉你进粉丝微信群
不是在文章评论里回复