这本最适合夯实基础的经典 Java 书籍,可能80% 的 Java 程序员没有认真看过!

公众号【程序员书单】出品,转载请注明出处
作者:黄小斜
今天要给大家带来的一本书,是大名鼎鼎的head first系列丛书的一本《head first Java》相信很多学习Java的朋友对它都不会陌生。
深入浅出系列书籍是由O’Reilly出版社发行的一系列教育书籍,它强调以特殊的方式排版,由大量的图片和有趣的内容组合构成,而达到非疲劳的沉浸式学习效果。

我目前就看过《head first Java》和《head first设计模式》如果你们对本系列的其他书籍也感兴趣的话,欢迎留言告诉我,届时我也会都去看看,再来推荐给你们。
下面我们就来看看《head first Java》这本书到底有什么魔力。

《Head First Java》(中文版)(第2版)是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。
而且不只是读死书,你还会玩游戏、拼图、解谜题以及以意想不到的方式与Java交互。在这些活动中,你会写出一堆真正的Java程序,包括了一个船舰炮战游戏和一个网络聊天程序。
这是百度百科对于本书的介绍,说实话,这本书和其他的我Java类型书籍真的大不相同,它不会一本正经地去说技术概念和原理,而是通过生动有趣的方式去拆解一些复杂的知识点,就好像讲师在讲课的时候,喜欢讲段子而不仅仅扯概念。
不仅这本书,而且本系列的其他书籍也是这么干的,这种用“幼儿园水平”降维分析的方式,对于初学者来说真的是一大福音,书籍的背后是作者和策划人,我们不妨来看看到底是何方神圣。
作者介绍 配图

这位姐姐叫做Kathy Sierra,她是O'Reilly出版社Head First系列图书策划人之一,也是大型Java开发者社区JavaRanch.com创办人,同时还是多款教育类和娱乐类游戏主要开发人员。
你可能一位她是一个程序员,但实际上,她深谙产品交互之道和认知科学理论,为加利福尼亚大学洛杉矶分校创立了新媒体与交互设计课程。
多年来,她一直帮助大公司、创业公司、非营利组织和教育者重新思考打造用户体验的方法,培养持续忠诚的用户。
你也可以在Head First这个系列中看出她在书籍内容设计时的用心良苦,确实是站在了用户角度进行思考,把一些技术难题用巧妙的游戏和对话一一化解。
这本书适合你么?
适合人群:Java新手可以看,有经验的Java程序员看也会有收获
前置条件:最好有一定的计算机基础,没有的话也无伤大雅
我的读后感
第一次看这本书,是在我初学Java的时候,那个时候我对于Java一窍不通,到处在网上搜集书单,通常我们在某乎上的都可以看到这些书籍《Java编程思想》《Java核心技术卷一》《疯狂Java》等等,先不说这些书籍的好坏,但是它们都属于比较正统的优秀Java书籍,具有权威性和科学性,同时具有一定的迷惑性:大家都说好,那一定就是好,别人都推荐,那我也推荐吧。
于是乎人云亦云,不区分场合,不考虑用户属性,理所当然的,这些书成为所有Java学习者的生活必需品。
当时我看到《head first Java》这本书时,大致浏览,就觉得怎么花里花哨的,完全没有其他基本正统书籍的严谨性和科学性啊,这种书籍一定不适合我啊,于是弃之。
最近我正准备找几本Java书籍推荐给大家,无意中又翻开了这本书,结果“真香”我一个学了两年Java的人,看这本书居然感觉受益良多,很多之前一知半解的知识点都能在书里找到答案。
比如第一章,讲解Java的基本概念时,我发现它把Java的工作方式讲的特别清楚,而这些知识点你看再多的博客和面试题有时候都不一定知道。
再比如讲解继承、重载、多态,以及接口抽象类概念的时候,本书会清晰地告诉你为什么会有这些概念,该如何使用,编排顺序合理,组织逻辑缜密。
还有就是对于垃圾回收机制的讲解,和其他专门介绍jvm的书籍不一样,这部分内容可以快速让你知道垃圾回收的基本原理。
可以说,除了图形化应用的章节已经过时不用看了之外,本书每部分的内容都是精华,从异常处理、网络和线程、IO和序列化,再到集合和泛型这些Java核心技术,以及最后关于jar包、部署、RMI等实战类的内容,每一个章节都值得你认真读一读。
无论你是Java小白,准备找工作的Java练习生,还是工作多年的Java工程师,我相信这本书都会对你有所帮助。
微信公众号【程序员书单】一个为程序员推荐好书的公众号。每周为你pick精品书单,优质学习资源和工具软件。关注前沿技术与行业资讯,更关注你的自我提升。人生苦短,要把时间浪费在美好的事物上~

这本最适合夯实基础的经典 Java 书籍,可能80% 的 Java 程序员没有认真看过!的更多相关文章
- Java程序员金三银四精心准备的面试题及答案(基础篇)
1.面向对象的特征有哪些方面? [基础] 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问 ...
- 夯实Java基础系列19:一文搞懂Java集合类框架,以及常见面试题
本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下 ...
- C#夯实基础之多线程二:主线程、前台线程与后台线程
我们在<C#夯实基础之多线程一:初识多线程>一文中第二部分中指出,既然windows最终发展出了多线程模型,按理说,我们直接使用一个.NetFramework的线程类就可以直接撸代码了,但 ...
- 二十三. Python基础(23)--经典类和新式类
二十三. Python基础(23)--经典类和新式类 ●知识框架 ●接口类&抽象类的实现 # 接口类&抽象类的实现 #①抛出异常法 class Parent(object): ...
- SQL夯实基础(九)MySQL联接查询算法
书接上文<SQL夯实基础(八):联接运算符算法归类>. 这里先解释下EXPLAIN 结果中,第一行出现的表就是驱动表(Important!). 对驱动表可以直接排序,对非驱动表(的字段排序 ...
- 软件测试面试题-适合零基础和工作多年的re
软件测试面试题整理,可以看看:适合零基础和多年工作经验跳槽的人 有些问题会深挖,就不在整理了 详看图片:
- CV与IP:基础,经典以及最近发展
原文链接:http://blog.csdn.net/dcraw/article/details/7617891 原文编写层层递进,逻辑清晰: 不过看这篇转载可以少点击鼠标:http://blog.cs ...
- 夯实Java基础系列7:一文读懂Java 代码块和执行顺序
目录 Java中的构造方法 构造方法简介 构造方法实例 例 1 例 2 Java中的几种构造方法详解 普通构造方法 默认构造方法 重载构造方法 java子类构造方法调用父类构造方法 Java中的代码块 ...
- 夯实基础系列四:Linux 知识总结
前言 前三节内容传送门: 夯实基础系列一:Java 基础总结 夯实基础系列二:网络知识总结 夯实基础系列三:数据库知识总结 现在很多公司项目部署都使用的是 Linux 服务器,互联网公司更是如此.对于 ...
随机推荐
- CSRF和XSS区别和预防
名词解释 CSRF(Cross-site request forgery)跨站请求伪造 XSS (Cross-site scripting)跨站脚本攻击,这里缩写css被前端层叠样式表(Cascadi ...
- spring 请求静态资源文件
在springMVC项目中使用restful风格写,需要到web.xml配置全拦截. <servlet> <servlet-name>springmvc</ ...
- ASP.NET Core 奇淫技巧之伪属性注入
一.前言 开局先唠嗑一下,许久未曾更新博客,一直在调整自己的状态,去年是我的本命年,或许是应验了本命年的多灾多难,过得十分不顺,不论是生活上还是工作上.还好当我度过了所谓的本命年后,许多事情都在慢慢变 ...
- Linux下MySQL的数据库安装
centos7 + mysql5.7 tar包解压安装 先执行wget https://dev.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-linux-gl ...
- HDU 4325 Flowers 树状数组+离散化
Flowers Problem Description As is known to all, the blooming time and duration varies between differ ...
- OpenCV-Python 直方图-2:直方图均衡 | 二十七
目标 在本节中, 我们将学习直方图均衡化的概念,并利用它来提高图像的对比度. 理论 考虑这样一个图像,它的像素值仅局限于某个特定的值范围.例如,较亮的图像将把所有像素限制在高值上.但是一幅好的图像会有 ...
- python框架-Django创建项目
创建项目 django-admin startproject douban//创建project cd douban python manage.py startapp books//创建app项目 ...
- 感知器基础原理及python实现
简单版本,按照李航的<统计学习方法>的思路编写 数据采用了著名的sklearn自带的iries数据,最优化求解采用了SGD算法. 预处理增加了标准化操作. ''' perceptron c ...
- [bzoj]1059矩阵游戏<二分图匹配*匈牙利算法>
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1059 初见此题,我觉得这是水题,我认为只要每一行和每一列至少存在一个黑格就可以出现对角线, ...
- 【开源项目系列】如何基于 Spring Cache 实现多级缓存(同时整合本地缓存 Ehcache 和分布式缓存 Redis)
一.缓存 当系统的并发量上来了,如果我们频繁地去访问数据库,那么会使数据库的压力不断增大,在高峰时甚至可以出现数据库崩溃的现象.所以一般我们会使用缓存来解决这个数据库并发访问问题,用户访问进来,会先从 ...