宝贝,来,满足你,二哥告诉你学 Java 应该买什么书?
(这次的标题是不是有点皮,对模仿好朋友 guide 哥的,我也要皮一皮)
高尔基说过,对吧?宝贝们,“书籍是人类进步的阶梯”,不管学什么,买几本心仪的书读一读,帮助还是非常大的。尽管坏书比好书多得多,但只要有幸读到几本好书,就全值了。
Java 要学的知识点非常非常多,但经典的书籍就那么几本,不算多。所以,这里我推荐给你的,能买就赶紧买,别害怕花钱,尤其是遇到屯书的日子,便宜的时候多买点,香啊。
这次推荐的书单也是最近好几个宝贝咨询我的一个问题,“二哥,学 Java 应该买什么书啊?好纠结,你能不能把你私藏的书单全部贡献出来?”
好吧,宝贝,二哥(二叔)这次满足你们,好吧?
1)《Head First Java》

这本书之所以作为首推,就是因为看起来不枯燥,真的。里面插画非常多,有意思的小话题很多,如果对技术图书望而生畏的话,这本书很值得一看。
骚话很多的一本书,只能这么悄悄地告诉你。不只是读死书,你还会玩游戏、拼图、解谜题以及以意想不到的方式与 Java 交互。
2)《Java 核心技术卷 1》

这本书涉及的知识点非常全面,入门的话,只看卷 1 就足够了,卷 2 可以暂时不看。
上面这两本书里面还是会讲到 Swing、AWT、Applet 的内容,都可以略过,感觉这些内容真的没必要讲了,不知道是不是出版社为了凑数,《Java核心技术》都出到第十版了,还有这些内容,真的是醉了。
3)《Java编程思想》

很多老师喜欢把这本书作为入门书推荐,但我觉得实在是不应该,因为新手根本驾驭不了这本书。这本书还是需要一定编程基础的人读的,否则就很容易劝退了。
毕竟讲的是思想,既然是思想,肯定就是在用的基础上进行升华总结,去探讨为什么的层面。那也就是说,只要你靠着前面两本书入了门,那么就需要这本书进行锤炼一下了。
4)《Effective Java》

就说一句,“我很希望 10 年前就拥有这本书。可能有人认为我不需要任何 Java 方面的书籍,但我需要这本”——Java 之父詹姆斯高司令鼎力推荐的书,你就知道要不要读了?
这本书的所有条目都具有指导性建议,对提高你的 Java 编程艺术很有帮助。
5)《阿里巴巴 Java 开发手册》

目前最新版是泰山版,《阿里巴巴 Java 开发手册》属于代码规范级别的开源手册,网上都可以找到下载地址,也可以在「沉默王二」公众号后台回复「手册」获取下载地址。
《Java 开发手册》是每个 Java 程序员都值得拥有的一本参考指南。该手册涵盖了编程规约、异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约灯 7 个部分,参考价值极大。
6)《Java网络编程》

《Java网络编程》是一本 API 书,主要就是对网络编程中的一些类和方法的介绍,但网络编程是 Java 开发中很重要的一块,所以这本书对一个 Java 程序员来说还是很重要的。值得一看。
7)《Java 并发编程实战》

这本书可以称得上是 Java 并发编程方面的圣经了,虽然看起来比较枯燥,但核心知识点都讲到了。从并发和线程安全性的基本概念出发,介绍了如何使用类库来提供基本的并发方案,包括如何利用线程来提高并发应用程序的吞吐量、如何识别可并发执行的任务、如何提高单线程子系统的响应性、如何确保并发程序执行预期的任务,如何提高并发代码的性能和可伸缩性等等内容。
8)《深入浅出 Java 多线程》

这本书是几个阿里朋友合伙重写了一本书,关键是开源的,直接通过链接就可以在线阅读了。
https://github.com/RedSpider1/concurrent
另外,也可以在「沉默王二」公众号后台回复「并发」获取下载地址。
9)《深入理解 Java 虚拟机》

目前已经出到第三版,我自己在家最近也在重新读,《深入理解 Java 虚拟机》是唯一一本我们国内程序员写的经典书,可以媲美《Java 编程思想》。
必须承认,这本书确实是提升 Java 功力的良药。这本书让我对于虚拟机的运行机理与底层知识真正来了一次近距离接触,许多知识不再只是符号或文字的堆叠,而是一种真正地理解。值得大力推荐。
10)《Java 性能权威指南》

通过前面 9 本书,基本上就把 Java 所有的知识点都学完了,那么就差如何对性能做出优化了,这本书值得拥有。
11)《代码整洁之道》

你现在是不是已经做好了提升编程艺术的准备了,那么这本《代码整洁之道》就可以让你的代码看起来更优雅,更整洁,更像大师写的。软件的质量,不仅依赖于架构,更与代码质量息息相关。而代码的质量与其整洁度成正比关系,越整洁的代码,其质量毫无疑问的就会越高。由于本书中的例子是由 Java 实现的,因此 Java 程序员在读这本书的时候有着天然的优势。
12)《设计模式之禅》

设计模式之禅(第 2 版)》是设计模式领域公认的 3 本经典著作之一,也是我们国内程序员写的一本书,趣味化十足,读起来也非常容易理解。这本书值得所有的程序员读一读,但 Java 程序员读起来更容易上手,因为源码是 Java 完成的。作者名叫秦小波,和我最喜欢的作家王小波同名。
大家都听说过,学习设计模式非常的重要,那么为什么这么重要呢,设计模式到底是什么?打个比喻学编程就像学武功一样。
武功要练得很牛逼,有两样东西不能丢。第一,是内功;第二,是武功秘籍。内功对应到编程就是我们编程基础能力,那编程的设计模式就可以想象成武术中的武功秘籍。
设计模式就是根据不同类型场景,设计优雅的(编码)解决方案。学好设计模式有很多好处,比如,容易看懂经典代码中的逻辑(很多优秀的开源框架大量使用了设计模式);应对面试时对答如流(设计模是面试重点);可以编写出优雅的解决方案(或者代码)。
13)《Spring 实战》

好了,既然要学 Java,想要成为一名称职的 Java 工程师,Spring 就没法忽视,对吧?这本书既可以被刚开始学习 Spring 的读者当作学习指南,也可以被那些想深入了解 Spring 某方面功能的专业用户作为参考用书。
当然,如果你想在 Web 开发方面更上一层楼的话,我再厚着脸皮推荐一下我自己写的《Web 全栈开发进阶之路》,里面也涉及到了一些 Spring 的常用知识点。
14)《Spring Boot+Vue全栈开发实战》

Spring Boot 方面就必须推荐一下我的好朋友江南一点雨的书,关键是他本人录制了很多免费的视频,这些视频配套着他的书看,绝对可以对 Spring Boot 有着充分的掌握。顺带把前端最火的 Vue 入门了,不香吗?
好了好了,书籍整体就先推荐到这吧,足够宝贝你看上一段时间了,加油哦。
如果觉得文章对你有点帮助,请微信搜索「 沉默王二 」第一时间阅读。
本文已收录 GitHub,传送门~ ,里面更有大厂面试完整考点,欢迎 Star。
我是沉默王二,一枚有颜值却靠才华苟且的程序员。关注即可提升学习效率,别忘了三连啊,点赞、收藏、留言,我不挑,嘻嘻。
宝贝,来,满足你,二哥告诉你学 Java 应该买什么书?的更多相关文章
- 【aliyun】学java,看这里,不迷茫!1460道Java热门问题
阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 ...
- 教妹学 Java:晦涩难懂的泛型
00.故事的起源 “二哥,要不我上大学的时候也学习编程吧?”有一天,三妹突发奇想地问我. “你确定要做一名程序媛吗?” “我觉得女生做程序员,有着天大的优势,尤其是我这种长相甜美的.”三妹开始认真了起 ...
- 从零开始学 Java - 我放弃了 .NET ?
这不是一篇引起战争的文章 毫无疑问,我之前是一名在微软温暖怀抱下干了近三年的 .NET 开发者,为什么要牛(sha)X一样去搞 Java 呢?因为我喜欢 iOS 阿!哈哈,开个玩笑.其实,开始学 Ja ...
- 从零开始学 Java - Spring 支持 CORS 请求踩的坑
谁没掉进过几个大坑 记得好久之前,总能时不时在某个地方看到一些标语,往往都是上面一个伟人的头像,然后不管是不是他说的话,下面总是有看起来很政治正确且没卵用的屁话,我活到目前为止,最令我笑的肚子痛得是下 ...
- 快学Java NIO 续篇
可以先看Java NIO的整体介绍,这篇接着说以下内容,<快学Java NIO>续篇 FileChannel SocketChannel ServerSocketChannel Java ...
- 2018java平均工资,想转行学java的快点上车
很多人选择工作的原因很简单:要么有钱,要么自己开心,当然绝大多数人是既没有钱也不开心...(现实就是这么残酷).哪有钱多事少的活,请告诉我,我第一个去!!我想大部分人对java充满好奇的一个原因就是钱 ...
- 零基础怎么学java
首先告诉你的是,作为一个初学者想转行学习Java并不是很容易,Java本身是具有一定难度的,虽然说兴趣这东西可以让我们学习不累,但是有多少人学习是因为兴趣,或者有多少人知道自己的兴趣在哪?所以我很明确 ...
- 2018年如何快速学Java
前言 只有光头才能变强 提前预警:本文适合Java新手阅读(老手可在评论区给下建议),希望大家看完能有所收获. 一.为什么我要写下这篇文章 1.1直接缘由: 在今天(2018年11月4日)有个同学给我 ...
- 学java得这样学,学习确实也得这样
引言 软件开发之路是充满荆棘与挑战之路,也是充满希望之路.Java学习也是如此,没有捷径可走.梦想像<天龙八部>中虚竹一样被无崖子醍醐灌顶而轻松获得一甲子功力,是很不现实的.每天仰天大叫& ...
随机推荐
- Rocket - interrupts - Xbar
https://mp.weixin.qq.com/s/icPGf4KdSOudwuNpLxdo7w 简单介绍Xbar的实现. 1. 简单介绍 IntXbar主要用于把上游多个中断源的中断组合在一起,然 ...
- Java实现 LeetCode 728 自除数(暴力)
728. 自除数 自除数 是指可以被它包含的每一位数除尽的数. 例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0. 还有,自除数不允许包含 ...
- 点击 button 自动刷新页面
问题:为什么点击 button 会刷新页面 ? 原因:你代码的写法可能如下图,把 <button> 按钮 写在 <form> </form> 标签里边啦. < ...
- cuda基础
一:cuda编程模型 1:主机与设备 主机---CPU 设备/处理器---GPU CUDA编程模型如下: GPU多层存储空间结构如图: 2:Kernel函数的定义与调用 A:运行在GPU上,必须通过_ ...
- k8s学习-集群安装
3.kubernetes安装 3.1.规划 hostname ip 内存 核 硬 说明 harbor 192.168.136.30 2G 2 100G 私有仓库 koolshare 2G 2 20G ...
- javafx分别设置四个边框
package border; import javafx.application.Application; import javafx.geometry.Insets; import javafx. ...
- Thread基础-创建线程的方式
Java线程创建的几种简单方式 1. extends Thread类 public class ThreadDemo extends Thread{ @Override public void run ...
- Linux下,如何监控某个进程到底向哪个地址发起了网络调用
Linux下,如何监控某个进程到底向哪个地址发起了网络调用 有时候,有些应用,比如idea,你发起某个操作时,其底层会去请求网络,获取一些数据. 但是不知道,请求了什么地址.举个例子,在idea中,m ...
- 【JMeter_05】创建第一个简单的接口脚本
聚合数据:提供了很多开放的API,可以去练习使用https://www.juhe.cn/ 如果有小伙伴对HTTP协议不是很了解,可以看下这里 http://home.ustc.edu.cn/~xie1 ...
- IntelliJ IDEA中项目import与open的区别
场景: 从原来公司离职来到新的公司,接手公司项目,先将项目从git或svn项目版本管理上clone下来,如果项目原先是用Eclipse开发的,而你更习惯于使用IntelliJ IDEA,下面是针对使用 ...