这本最适合夯实基础的经典 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 服务器,互联网公司更是如此.对于 ...
随机推荐
- [模板] trie树 (字典树)
本文基于https://www.cnblogs.com/TheRoadToTheGold/p/6290732.html #include<bits/stdc++.h> using name ...
- 基本的访问控制列表ACL配置
摘要: 访问控制列表ACL (Access Control L ist)是由permit或 deny语句组成的一系列有顺序的规则集合,这些规则根据数据包的源地址.目的地址.源端口.目的端口等信息 来 ...
- 使用PyTorch建立图像分类模型
概述 在PyTorch中构建自己的卷积神经网络(CNN)的实践教程 我们将研究一个图像分类问题--CNN的一个经典和广泛使用的应用 我们将以实用的格式介绍深度学习概念 介绍 我被神经网络的力量和能力所 ...
- TensorFlow v2.0实现逻辑斯谛回归
使用TensorFlow v2.0实现逻辑斯谛回归 此示例使用简单方法来更好地理解训练过程背后的所有机制 MNIST数据集概览 此示例使用MNIST手写数字.该数据集包含60,000个用于训练的样本和 ...
- 全屏banner及全屏轮播
一.全屏banner 1.设置网页图片全屏banner <!DOCTYPE html> <html lang="en"> <head> < ...
- iOS nil,Nil,NULL,NSNULL的区别
nil (id)0 是OC对象的空指针,可正常调用方法(返回空值,false,零值等) Nil (Class)0 是OC类的空指针,主要运用于runtime中,Class c = Nil; 其他特性 ...
- [HDU1029]Ignatius and the Princess IV<桶 水题>
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1029 题目大意: 多组数据,每组数据先给一个n,然后给n各数字,找出n各数字中出现了至少(n+1)/2 ...
- [洛谷1437&Codevs1257]敲砖块<恶心的dp>
题目链接:https://www.luogu.org/problem/show?pid=1437#sub http://codevs.cn/problem/1257/ 不得不说,这个题非常的恶心,在初 ...
- Java的浅拷贝与深拷贝总结
Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去.举例说明:比如,对象A和对象B都属于类S,具有属性a和b.那么对对象A进行拷贝 ...
- pre-commit + imagemin 实现图片自动压缩
我们日常开发的前端项目中,图片资源会占到项目资源的很大比例,因此在考虑到性能优化,页面加载速度的时候,如何更好地处理图片就非常重要了. 首先我们可以想到的方案是:使用webpack的image-web ...