〓【球友会】分享IT计算机各类电子书,包括各类编程语言,人工智能,机器学习、深度学习以及各类大数据、算法等内容的电子书
无聊梳理了Java编程必读的10本经典书
无聊梳理了Java编程必读的10本经典书

无聊梳理了Java编程必读的10本经典书

这一期给大家唠一唠 Java学习,经常有人问我:『Java怎么学习啊?我好迷茫啊,快救救我!』

其实这个话题有点大了,每个人现阶段水平不一样,比如说对Java 虚拟机的理解:

对于 Java 学习也是一样的,有些人喜欢看视频学习,觉得视频有趣,跟着老师一步一步敲代码;但有些人就会觉得看视频学习没意思,老师讲的太繁琐了,太拖沓了,还是自己看书更带劲。

我在这里讲讲自己的看法,对于入门初级程序员,看视频跟着老师的思维一步步走,确实能培养编程兴趣。记得几年前我初学 Java 时在网上看了很多马士兵老师的视频,当时觉得这个老师不光技术好,人也超级幽默,编程的兴趣一下子提了上来,直到今天还在 IT 行业混,哈哈!

但是视频看多了你会发现:听着都懂,关掉视频自己写啥也不会啊。这最大的原因其实就是因为自己没有独立思考。

所以建议大家入门了之后还是不要过于依赖视频,要学会独立思考,看书是个不错的方法。

关于 IT 行业到底要不要看书,这个我之前可是踩过坑的,一些「大佬」跟我说:IT 行业日新月异,一本书的出版一般都是要耗费几年时间,等书出出来了,技术都过时了。我当时觉得:wc,有道理啊。这也为我日后不爱学习埋下了祸根。

其实现在回过头来看,这个说法不完全正确,对于一些垃圾书确实是这样的,但是对于那些经典之作,时间的流逝也不能掩盖住它的经典。比如说《深入理解 java 虚拟机》这本书最早是在 2011年出版,快 10 年有人说它过时了吗?现在应届生找工作前是不是都得背一背。看书还是得看经典之作啊。

好了,开始我们今天的主题,今天是想给学习 Java 的程序员推荐一些经典书籍,这些书籍覆盖了初级、中级、高级程序员,总有一些适合你。另外需要说明的是,本次推荐的书单仅仅只覆盖 Java SE 部分,像 Java Web, 服务端开发,Spring框架全家桶,分布式微服务,中间件,数据库这些本次都不包括,留着后面慢慢推荐。

这本书建议作为Java 之旅的第一本书,涵盖的内容非常全,比起那些30天学会 Java 之类的书,这边书更加务实。

像第十、十一、十二章:图形程序设计,主要讲解 Swing GUI,用 Java 写桌面端应用已经过时了。有人会说安卓,这是另外一套东西,不是 Swing。

第十三章主要讲 Java 程序的部署,这里面的 applet 技术已经淘汰了,再学就是浪费时间。

卷II是卷I的加强版,针对 Java 的一些高级特性如:java8、网络、数据库、安全等进行了详细讲解。

关于网络那一章节大家可以简单看一下即可,因为在企业网络编程开发中多数会用到 netty 框架,这是一款性能好到炸的框架,建议大家后面好好学习下。

数据库编程那一章节也可以简单看看,JDBC 操作数据库实在是太麻烦了,编写程序有一堆样板代码,繁琐程度令人发指,为了解决这个问题出现了一系列有优秀的 ORM 框架如:Hibernate、MyBatis 等。

最后与卷I一样,Swing 这一章节也可以直接跳过了,具体原因上面已经讲过了,不啰嗦了。

2021 年 9 月 14 号 Oracle 正式发布了 Java17,有些小伙伴不禁要问了,17 都出来了,现在还学 Java8 是不是太多时了,不不不,据小帅了解现在很多公司都还停留在 Java8。

这一方面说明 Java8确实是很牛逼啊,Java8 是继 Java5 之后改动很大的一个版本,增加了 Stream 流等很多好用的特性;

另一方面,切换一个 Java 版本费时费力,收益也不明显,公司肯定不愿意动了。

ok,我们再说回这本书,《Java 实战》是《Java8 实战》的新版本,不光有 Java8 的新特性还有 Java9、Java10 等,如果你的公司目前只会用到 Java8,那么你直接看《Java8 实战》也未尝不可。

《Java8实战》不会讲解一些基础的 Java语言,这本书的重点是讲解 Java8 新特性和语法糖,让你的 Java 代码写起来更爽、更优雅。

这是一本非常非常经典的书,你要问搞 Java 的人如果没听过这本书那算是白学了,哈哈。

其实说实话这本书我试图看过几次,最终都没有看完,一个原因是它太厚了,另外我觉得讲得太啰嗦了,可能是因为翻译的不太好,所以我现在拿来垫桌子,高度合适挺好的。

所以呢,建议新人不要一开始看这边书,不然你会怀疑人生,还没入门就放弃了,就把它当做编程字典,等你后面遇到问题了拿起来再翻翻吧。

终于到这本书了,先允许我说三声牛逼:牛逼、牛逼、牛逼,如果你们也这样认为的,请把牛逼打在屏幕上。

《深入理解Java虚拟机》这本书其实 2011 年就出版了,出版后其实是不温不火的,那为什么后面就火了呢?

除了书写的好之外,最重要的一个原因还是国内 IT 行业太卷了,太卷了,太卷了!

前几年Java 程序员面试,面试官喜欢问:「HashMap 和 HashTable 哪个是线程安全的?」候选者能答出来并能说几个原因就已经足够了。

后来不行了啊,兄弟们,大家都背熟了,面试官只能升级了:「你看过HashMap的源码吗?是线程安全的吗?」

再过几年,程序员又进化了,面试官只能加码了:「HashMap 看过源码吗?请在纸上写一下红黑树的实现」

Java 虚拟机也是一样的,前些年研究这个的是一小撮人,后来由于行业太卷,为了更好地区分面试者,就慢慢开始问虚拟机相关的知识了。

以前你要说你懂点 java 虚拟机可能加分项,时至今日这个只能算基本能力了。

好了,我们说回这本书,周志明大神写的,非常非常经典,已经更新到第三版了。周志明大神写书用词非常严谨,专业术语非常多,第一次读的小伙伴可能有点懵,但是不要紧,多看几遍,我自己也是看了很多遍,每次看完都有新的收获,墙裂建议大家看完。

在写代码的时候大家伙有没有碰到这样的场景:我在本地测试好好的,怎么线上就出问题了呢?

本地是你一个人在测试,但是到了生产环境,大量的用户点击,大量的请求涌进来,你的程序在并发访问的时候会不会出问题呢?

我们说回《Java并发编程的艺术》这本书,这是一本专门讲解Java并发的书,涉及到各种锁、常见安全的集合类,基本就是将 JUC(current包的简称)里所有的内容覆盖了一遍,看完你一定有收获。强烈推荐!

JUC 是 Java 大神 Doug Lea 开发的一套类库,大神开发这套代码就是为了帮助大家简化并发编程,现在国内有一大批人在研究他的代码,他老人家应该高兴呢还是悲。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注