Java程序员必读书籍(进群白piao)

这是一片超全的干货分享,内容很长,需要大家耐下心来看!这篇文章将带你由浅入深的了解程序员如何学的更精,如何高效率阅读,避免无用功!

【白嫖党不进来可就亏大了】

只想真心解救那些还在Java学习路上苦苦挣扎的小伙伴们,毕竟我也是一路走过来的!


目录如下:

1 程序员如何读书?
2 程序员快速成长宝典
2.1 程序员是做什么的?
2.2 企业为什么需要程序员?
2.3 程序员快速成长的方法
3 Java程序员必读书单
3.1 初级经典书籍(适合初学者)
3.2 中级经典书籍(适合具有一定编程经验的工程师)
3.3 高级经典书籍(适合有大型项目架构经验的工程师)
4 Java开发常用资源
5 推荐学习路线
6 Java程序员成长常见问题解答

本文推荐的书籍,以及其他方面的资源都可在群内自取,无偿共享!

【有需求的小伙伴进群853665602自取就好了,还方便和志同道合的小伙伴互相交流技术】

另外:我还整理了一些Java基础知识点,思维导图,学习视频,

【群里还含有:Java80g学习视频+Java学习书籍+Java项目实战源码+安装软件等】

各类资源都有哦~

程序员如何读书?

  1. 要读就读经典好书,差的书不光浪费你的金钱,更浪费你的时间。对于程序员来讲,空余时间非常宝贵,要想在有限的时间内有好的回报,选书很重要。
  2. 程序员一定要学好英语。国外的大牛工作不加班,也喜欢分享,而国内的大牛基本上都在忙着加班,没时间写书。所以国外的文章、书籍、教程质量要比国内的好很多,技术也新,差不多领先两到三年。所以,如果英语不错,能阅读第一手的英语书籍资料,在信息差上会有很大优势。所以,程序员一定要学好英语,不要用百度搜问题,用bing英文搜索来搜问题,有机会看一些原版英文书提升自己的英语水平。一开始会比较痛苦,看的多了,计算机术语也就那么多,比考研英语要简单很多。
  3. 豆瓣评分是一个很重要的选书标准,8分以下的一般就不要考虑了,除非这个领域内的书籍非常少。
  4. 要根据自己的基础和学习能力选择合适的书。太简单的书会没有提高,太难的书会看不懂,适合自己当前阶段的书才最有利于快速成长。
  5. 计算机是一门实践科学,读书的同事也要通过编码来积累项目经验。我上学的时候学习的做法是先把书看一遍,然后去做一些和书籍内容相关的项目开发,开发中会越到不懂的内容,针对这些不懂的地方去翻书,查缺补漏。最后项目搞得差不多了,再把书重新过一遍。这样效率会比较高,因为一开始读书的时候不知道哪些是重要的、自己不会的,通过做项目可以让你对书籍的重点和自己薄弱的地方有一个清晰的认识,然后再回过头来读书,可以有的放矢,效率会高很多。
  6. 想看的、自己当前需要的书,不需要等优惠活动,直接下单即可。国内图书20多年价格基本上没太大变化,性价比能和火车票媲美了。所以,遇到自己喜欢的书,不要犹豫,和书的价格相比,你的时间才是最宝贵的。当前还不怎么需要、买了暂时也看不过来的书,可以放入购物车,等双11、双12或者618搞活动的时候买。
  7. 学生如果缺钱,要买更便宜的书可以去多抓鱼、闲鱼上购买二手书,尤其是多抓鱼都是消毒翻新的,价格比新书也要优惠很多,买了看完还可以再在平台上卖掉,看一本书的成本也就一二十块钱。

程序员是来做什么的?

在讲程序员如何成长之前,应该先把这个问题讲清楚。程序员是来做什么的?程序员工作的意义是什么?很多同学会感觉这个问题很简单,程序员不就是来写程序的吗。其实这个问题很深奥。

简单的讲,程序员是通过计算机方法(一般是编程)来解决各种现实问题,创造经济和社会价值的。比如老马在县里开了个商场,感觉来钱比较慢,想去开个网上商场,和全国全世界的顾客交个朋友。如何在网上开商场,这就是个问题。程序员要做的就是通过软件来解决这个问题。

如何解决问题呢?程序员的工作解决问题一般都分为2步:

  1. 把现实问题转换为数学问题。这其实就是个数学建模的过程,针对商场可以对商业模式进行分析,把商品按照SPU、SKU进行区分,把商家和顾客分为B端和C端。这部分能力靠的是业务知识和逻辑分析能力。这部分内容变化会比较慢,对数学要求比较高,问题分析能力决定一个程序员的上限。
  2. 通过计算机方法(一般是编程)来解决这个数学问题。商场的数学模型分析好了,就需要通过软件系统来实现功能了。比如选用哪种框架、使用哪种语言、数据库用什么、安全防护需要做哪些?这部分内容会变化得比较快,随着框架和底层技术的发展,入门门槛逐渐降低。程序员如果只是能简单的完成这一步(CURD Boy),并且对底层原理没有太多研究,就很容易被淘汰。

企业为什么需要程序员?

现在每家企业都会找一些程序员,信息化、互联网化是现代企业的诉求。但更根本的原因是追求利润,老板需要赚钱,有好多业务问题只有靠程序员才能解决,老板招聘程序员就是想让程序员通过技术来解决业务问题、推动业务发展,让老板赚更多钱。所以,对于大部分企业来讲,程序员只专注于技术是不行的,要能让技术解决业务痛点,能帮老板赚钱,才能有好的发展。Bob大叔曾经在《架构整洁之道》中讲过,好的架构就是能用更好的人干更多的活(我加一句,能帮老板赚更多的钱)。企业的程序员一定要记住,能帮老板赚钱是程序员在企业中最重要的价值。

程序员如何快速成长?

但万事万物都要讲究科学方法,个人成长也不例外,对于开发者而言,索隆认为有3个方法非常重要:

  1. 站在巨人的肩膀上。
  2. 针对薄弱的地方进行刻意训练。
  3. 学会提问。

站在巨人的肩膀上

读研的时候,实验室的老师都在强调一个问题,要看顶级会议和期刊的英文文章,尽量不要看中文的文章。因为看一流的文章,好好学的话,大概率能写出二流的文章,如果一开始就看国内三四流水平的中文文章,那硕士毕业基本上就要成问题了。

技术精进也一样,你每天获取学习信息的质量决定了你的上限。国内知名技术达人“左耳耗子”也一直在强调这一点,他说现在国外的技术比国内还是要领先两三年,如果能经常看国外技术网站上的优质英文文章,领先国内同行一两年是没问题的。所以,学习信息的选择非常重要。

那么哪些信息是优质的呢,索隆这里列举2个比较重要的优质信息来源:

  • 经典书籍,尤其是国外大牛写的技术书籍。国外大牛写书都非常认真,他们写的书籍质量也很高。和博客、公众号相比,书籍的信息密度也更大,质量也要高很多。不管你现在处于什么阶段,看书都是非常高效的提升方法。如果刚入门,先把计算机经典的书籍过一遍,保证功力大增。
  • 知名开源项目。技术开发光看书还是不行的,动手做项目同样重要。要想提升自己的编码水平,跟着大牛学习也非常重要。那大牛的代码从哪里找呢,要感谢开源社区,现在Github上的知名开源项目,有很多大牛在维护。通过看这些大牛的代码,是快速提升编码水平的一个捷径。

针对薄弱点刻意训练

很多经典的讲高效学习的科学著作(比如《刻意训练》和《精进》)都提到了这一点,针对薄弱点刻意训练是提升个人能力最高效的方法。对于开发者而言,建议画张脑图,针对开发设计到的知识点进行分类汇总,每次遇到不懂的问题,不管是开发中遇到的,还是面试中遇到的,都去这个知识树中去找,看自己那块薄弱,然后针对薄弱的地方进行有针对性的复习。这样不断循环,知识树会越来越完整,自己的水平也会越来越高。

学会提问

对于开发者而言,提问也非常的重要。针对自己的项目,要经常去反思,哪里还有提高的地方。对于自己,也要经常反思,自己还有哪里需要提高的地方。开发的时间长了,也可以问下自己,技术是如何创造价值的,开发者对于老板的意义在哪里。要经常地反思,不断提出问题,才能更快的进步。

Java程序员必读书单

书单说明:

  1. 图书列表按照初级、中级、高级进行了大致区分,初级是指刚入门Java的同学或者开发经验很少的初级工程师;中级是有一定开发经验,但还没有独立设计过大型项目的工程师;高级是指由大型项目设计经验,并且有一定项目架构、管理经验的工程师。但推荐书目只是大致进行了区分,区分了书籍最适应的人群。初级的同学可以阅读中高级的推荐书目,只是有些读起来会有些吃力。

为了方便阅读,对书目进行了汇总,大家可以先看这个,然后再看下面详细的介绍。

初级经典书籍(适合初学者)

作为一个初学者,首先要了解Java这门语言。Java入门语言书,首推《Java核心技术》,因为 《Java编程思想》和《Head First Java》这两本书都是10年前写的,当时的Java版本还是5,而今年9月份Java 15已经正式发布。现在国内一线公司也已经以Java 8为主。Java 5是Java比较重要的一个版本,但是后面的Java 7支持了Future,Java 8支持了Lamda表达式和Stream。都是比较大的更新,因此现在学习《Java编程思想》和《Head First Java》已经有些过时了。这两本书虽然经典,还是推荐学习《Java核心技术》,因为《Java核心技术》最新版本已经支持到了Java 11,更新非常及时。知乎上之所有很不少大牛也在狂推《Java编程思想》,是因为大牛入门Java的时候基本上都是在很多年前,那时候《Java编程思想》的技术还是很新的。《Java编程思想》的作者已经写了第五版,英文名叫《On Java 8》,Java版本更新到8,实在想用《Java 编程思想》入门的同学可以去读英文版,或者看网友翻译的中文版On Java 8网友翻译版。正式中文版图灵出版社正在加紧翻译,预计下半年会上市,并且会在原书的基础上增加Java 9的内容,图灵出版社出版的图书质量都很高,大家敬请期待。

《穿越计算机的迷雾》

图书简介:之所以把这本书放在第一位,是因为这本书非常适合入门。和后面的《深入理解计算机系统》相比,这本书内容主要讲计算机硬件相关知识,不够全面。但是这本书更加通俗易懂,读起来非常有意思,在轻松的气氛中能让读者对计算机有个较为全面的了解,所以把这本书更加适合初学者,少有的国产经典好书。针对电路、CPU、指令、存储器等都有详细的介绍。大一新生或者刚开始转行学计算机的其他专业的同学,推荐先把这本书读完。

豆瓣评分:8.9

穿越计算机的迷雾(第2版)

《Java核心技术》

图书简介:和后面两本语言书比,这本书更像国内的教科书风格。没有太多的理论讲解,每一张都有不少示例,更加实用。并且本书分为上下两卷,基础篇和高级篇。我12年读的这本书,感觉更适合用来做手册,遇到不了解的部分拿来查查,按照示例写写代码能很快解决问题。初学者直接看基础篇,有一定开发经验的可以看高级篇。

豆瓣评分:9.0

Java核心技术 第11版 套装共2册

《Java编程思想》

图书简介:这本书在香港科技大学是本科Java课程的指定教材。没有编程经验的同学看起来会有点吃力,但是读完会很有收获。本书不光对Java语法的方方面面进行了详细的介绍,对面向对象思想也做了很好的讲解,同时将Java和C++进行了客观的比较,如果同学们之前学过C++,读这本书会感到很亲切。作者Bruce Eckel是语言领域的大牛,作为C++标准委员会拥有表决权的成员之一,同时也是《C++编程思想》的作者。这本书值得每位Java程序员买一本仔细阅读。注意,对于初学者,一定要自己做下课后习题,学习编程动手很重要。当然,课后习题答案还是要给的 https://github.com/kinggggg/thinking_in_java_answer

注:第五版(英文名《On Java 8》)中文版图灵出版社已经在组织翻译,预计明年会正式出版。

等不及的同学可以看网友翻译版 https://github.com/LingCoder/OnJava8

书很经典,但版本有点老,可以作为参考,不推荐以这本书为主。

豆瓣评分:9.1

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值