知识屋:更实用的电脑技术知识网站
所在位置:首页 > 科技

【大学四年自学Java的学习路线】祝你从零基础快速找到一份满意的工作。

发表时间:2022-03-23来源:网络

零基础自学 Java,大概多久可以找到工作?


最近又有一个读者“在你的世界各地”向我提了上面这个问题。但说实话,这个问题并不太好问答。因为 Java 是一门“历史悠久”的编程语言,它的学习资料多到令人眼花缭乱。


但不能为自己找借口啊,毕竟读者就是上帝。于是我花了一个月的时间,精心为你准备了一份万字长文,史上最佳的 Java 自学指南,保证你能找到一份满意的工作。


先来梳理一下读者强调的关键词,有 3 个,分别是“零基础”、“自学”、“找到工作”。


1)“零基础”意味着我提供的学习路线不能太难,或者说应该是循序渐进的。


2)“自学”意味着我提供的学习素材不能太枯燥,或者说应该是幽默风趣的。


3)“找到工作”意味着学习周期要尽可能的短,但还要学有所成。


01、为什么要学 Java

因为 Java 是世界第一的编程语言啊!谁给的底气?大概是 TIOBE 这个编程语言排行榜吧。


TIOBE 是编程语言流行趋势的一个指标,每月更新,基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(Google、Bing、Wikipedia)进行计算。

上面这幅图是几个热门编程语言(Java、C、Python、JavaScript 等等)近些年来的增长趋势。可以看得出,Java 霸占这份榜单很多年,并且还会持续更久。


1)简单易学,老少咸宜。Java 继承了 C++ 语言面向对象的核心技术,舍弃了容易引起错误的指针,移除了运算符重载和多重继承等难以理解的概念,增加了垃圾回收机制,这些大大简化了程序员的开发成本。


2)跨平台。任何平台只要安装了 JVM(Java 虚拟机),就能运行 Java 程序。真正实现了“Write once, run anywhere”。


3)丰富的类库。全球约有 900 万名 Java 开发人员,创造了一个充满活力和积极进取的 Java 社区,开源类库非常丰富。借助这些类库可以让开发者避免重复造轮子,不用去关注 Java 底层的开发,只关注业务的实现。


4)广泛使用。据估计,全球范围内有超过 30 亿部设备运行 Java,超过其他任何一种语言。Java 被用于众多全球知名的网站中,包括 eBay.com、Linkedin.com、Amazon.com 和 Facebook.com。这一点应该是 Java 屹立不倒的深层次原因吧,大家都在用,才是真的强啊。


5)薪资可观。很多企业都需要 Java 方面的人才,这是一个非常现实的原因,为了生计着想,学习 Java 这个方向不会有错!


02、哪些 Java 知识不需要再学了

张无忌在学太极拳的时候,他爹的师父张三丰告诫他一定要把之前所学习的武功全部忘掉,忘得越多就会学得越快。


同样的,自学 Java 的时候一定要先知道哪些 Java 知识不需要再学了,毕竟技术的更新迭代就好像火箭一样快,Java 的一些知识点早已经过时了。如果不懂得断舍离,那学起来就不免太痛苦了。


1)AWT 和 Swing


真不知道为什么,有些书籍还在介绍 AWT 和 Swing,这就好像不知道大清朝早已经亡了几百年一样。已经 9102 了,谁还会用 AWT 和 Swing 去开发桌面应用呢?


就我所知,C++ 程序员会用 MFC,C# 程序员会用 Winform 和 WPF。甚至还可以用一种更时髦的技术(比如 Electron)把 Web 网页裹一层华丽的外衣,变成可执行文件。


2)Applet


作为网页插件技术,Applet 压根就没流行起来,就连曾经的热门 Flash 也要淘汰了。


3)XML


XML 还没有被淘汰,应用的地方还有不少。但是作为一种数据传输格式,它正在被 JSON 替代。


4)JDBC


我个人不建议再学习偏底层的 JDBC 了,尤其是对于时间宝贵的自学程序员来说。与其花这点时间,不如把精力投入到 MyBatis 的学习上。


5)Struts


Struts 是早年一个优秀的 MVC 框架,单从技术的角度来看,还是蛮不错的。但是自从有了 SpringMVC 后,Struts 就被拍死在沙滩上了。


6)Hibernate


在我刚参加工作那会(2010 年的时候),持久层框架用的正是 Hibernate。但时过境迁,Hibernate 太重量级了,学习成本太高,取而代之的是轻量级的 MyBatis(支持定制化 SQL、存储过程以及高级映射)。


7)JSP


说起来惭愧,我现在维护的一个项目,视图层用的依然是 JSP。但如今流行的是“前后端分离”,JSP 就显得不合时宜了。


03、学习 Java 需要安装的软件

工欲善其事必先利其器,战斗之前我们要先配备好武器。


1)JDK


JDK 是 Java Development ToolKit 的简称,也就是 Java 开发工具包。JDK 是整个 Java 的核心,包括 Java 运行环境(Java Runtime Envirnment,简称 JRE),Java 工具(比如 javac、java、javap 等等),以及 Java 基础类库(比如 rt.jar)。


2)IDE


集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。


在我初学 Java 的时候,老师竟然告诫我们不要使用 IDE(当时是 MyEclipse 风靡的年代),而要使用文本编辑工具,比如说 Editplus、Nodepad++。


老师说的有一定的道理,比如说,在没有代码提醒的帮助下,我们能够通过不停的手敲记住一些 Java 的常见名词。但在我看来也就仅此而已。


没有 IDE 的帮助,让初学者对编程望而生畏,因为那些名词实在是太多了。我们班当时很多同学就是因为觉得太痛苦了,就放弃编程了。


我到现在也不太会敲 extends、implements(在 Eclipse 中复制出来的),不会敲又怎样呢?有好的工具,我们就应该利用,不应该受苦。


下面是最为受欢迎的 IDE 的榜单。

对于我来说,一直喜欢的是 Eclipse,这可能是一种情怀吧。


据说,喜欢 IntelliJ IDEA 的 Java 程序员越来越多了。


3)JAD


将源代码转换成二进制执行代码的过程叫做“编译”,一般指的是将 Wanger.java 编译成 Wanger.class 字节码文件;而将字节码文件转换成源代码的过程叫做“反编译”,比如将 Wanger.class 转成 Wanger.java。


JAD 是一款老牌的、经典的 Java 反编译工具。更重要的是,JAD 能够让我们深入的了解 Java 代码的工作机制。


比如说有这样一段代码:

String chenmo = "1"; String wanger = "2"; System.out.println(chenmo + wanger);

它的“庐山真面目”是下面这样子的。

String chenmo = "\u6C89\u9ED8"; // 1 String wanger = "\u738B\u4E8C"; // 2 System.out.println((new StringBuilder(String.valueOf(chenmo))).append(wanger).toString());

4)Maven


Maven 是一个项目管理和自动化构建工具,基于项目对象模型(POM)的概念,可以管理项目的构建、报告以及文档。作为 Apache 组织中的一个颇为成功的开源项目,Maven 主要服务于基于 Java 的项目构建、依赖管理和项目信息管理。


04、推荐一些优质的 Java 学习网站

经常有一些读者问我:“二哥,学习 Java 应该关注哪些网站?”,我之前的态度一直是上知乎、上搜索引擎搜一下不就知道了。但读者对我这个态度很不满意,他们说,“我在问你,又不是问知乎,问搜索引擎。”你还别说,读者说得有道理。


于是我想,那就推荐一些吧。先说我心目中的前三名,但不局限于 Java 学习者。


1)Google


啥都不说了,说多了都是泪,可气的是 Robin 李的搜索引擎实在是不争气。说句良心话,Google 的搜索结果比前者的质量高出一百(零一)倍。


Google 也算是网站?必须算啊。只要你想要学习,它会给你所有。


2)Stack Overflow


Stack Overflow 可以说是解决问题的杀手锏。下面这些问题是不是都很常见?

如果英语能力不太好的话,可以借助一下 Chrome 浏览器的自动翻译功能。


3)GitHub


GitHub 是一个拥有数十亿行代码的网站,每天有数百万开发者聚集在一起,研究开源软件中存在的问题。


对于普通的程序员来说,如果不想重复造轮子,就必须要站在巨人的肩膀上,那么巨人是谁呢?就是 GitHub。那些牛逼的开源软件库,99% 的情况下会在 GitHub 上找到它。


对于成功的程序员来说,如果想要被别人膜拜,最好能在 GitHub 上贡献一个开源库,如果星标超过 1W,那可是相当的牛逼,在业界应该算是响当当的人物。

然后,我再推荐一些 Java 程序员必须要关注的网站。

4)IBM Developer

IBM developerWorks 提供了中文版,里面的文章都属于非常高质量的。

5)Java SE 技术文档,Java Platform SE 8


即使是 Java 编程的大牛 , 也离不开这份文档。中文版的 API 可以参照:在线文档-jdk-zh


6)Java World


这个网站包含了大量的 Java 教程 , 涉及各种各样的话题。其中很多文章都写的很好 , 并且有图片、插图进行说明。它可以被用来当作深度学习的教科书。英文能力有限的话,可以使用谷歌翻译。

7)Program Creek

Program Creek 在维护方面做的很好 , 文章读起来也比较有趣。在这里 , 你可以找到其他任何网站都不曾涉及到的话题 , 而且几乎每篇文章都包含漂亮的插图或者示例代码。

8)LeetCode

备战技术面试?力扣提供了海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。

刷题的话,还有一个牛客网值得推荐,里面各个公司的面试题和面经分享,找工作前认真刷一刷,一定会大有所获。这里强调一下刷题的重要性:

可以让思维保持活跃强化对基本知识的理解要想找到工作,就要过面试,不刷题怎么能行

9)CSDN,https://www.csdn.net/

网站很多,重要的是挑几个自己喜欢的关注,持续不断地学习,就能够取得显著的进步。


05、推荐一些优质的 Java 书籍

不知不觉,我已经接触 Java 11 年了——从 2008 年北京奥运会那年开始,到现在;未来还会更久。


这期间我读了不少 Java 方面的书籍,纸质版的少说有三十来本吧,更何况还有不少的电子书。万事都有好坏,书也一样。有的是精神粮食,有的纯粹是浪费时间。


这里就分享一些我精挑细选后的优质书籍,希望能帮大家少走点弯路。


1)《Java 编程思想》

这本书在豆瓣的评分高达 9.1 分,但我总觉得有点虚高。


记得刚上大学那会,就在某宝上买了一本影印版的《Java 编程思想》,但由于初学 Java,对编程极度缺乏信心,导致看这本书有一种看天书的感觉。后来,去苏州参加工作的时候把它作为最宝贵的纪念品带了过去。


2014 年回洛阳的时候把它送给了一位关系还不错的同事,权当是分别的礼物吧。2016 年的时候,我又重新买了一本,希望自己能够夯实一下基础。但事与愿违,它被我束之高阁了,读起来无比的枯燥。2018 年的时候,我重新捧起它读了一遍,总觉得有一种莫名的负罪感。


《Java 编程思想》是个大部头,足足 880 页,文字更是密密麻麻。我不建议大家一个字一个字的读,知晓其中的精华就可以了。如果你觉得这本书读起来很痛苦,不妨来读一读我加工润色后分享博文,足足 25 篇,每一篇都很精彩。


先来通过思维导图看一下这 25 篇 Java 博文涉及到的知识点。

《Java编程思想》无疑一直都会被大力推荐,可是第四版的出版时间竟然早在 2007 年,全书大部分的代码是基于 JDK 1.5 完成的。如今什么年代了?


告诉你一个好消息,《Java编程思想》的作者 Bruce Eckel 在 2017 年的时候发布了第五版,没想到吧?为什么在网上都看不到这本书的消息呢?因为改名了,而且只有电子版。

2)《Java 核心技术卷一》


《Java核心技术卷一》是唯一可以和《Java编程思》媲美的一本 Java 入门书。单从技术的角度来看,前者更好一些。但上升到思想层面嘛,自然后者更好,两者的偏重点不同。


思想不会变,所以《Java编程思想》还停留在第 4 版(2007 年);而技术是要更新迭代的,所以《Java核心技术卷一》来到了第十版(2016 年)。


我们来看一下《Java核心技术卷一》第十版的大纲。

前九章:包括 “Java 程序设计概述”、“Java 程序设计环境”、“Java 的基本程序设计结构”、“对象与类”、“继承”、“接口”、“lambda 表达式与内部类”、“异常”、“断言和日志”、“泛型程序设计”、“集合”。这九章讲述的是 Java 基础知识点,是 Java 程序员必须要掌握的内容,所以必看。


第十到第十二章:讲的是 AWT 和 Swing,个人感觉这部分内容属于不需要再学的 Java 知识点。当然了,窗口编程涉及到的“事件驱动-监听-方法回调”的机制蛮重要的,需要掌握,但和 AWT 和 Swing 的关联度不大。就好像,我们取钱直接去招商银行,没必要把招商银行的钱转到工商银行再取出来。


第十三章:讲的是应用部署和 Applet,显然 Applet 也没必要学了。出版社没有把这部分内容删掉,纯粹是为了让这本书变得更笨重(定价就高了)。


第十四章:并发编程。这也是 Java 学习过程中最难的一块之一,另外一难是 Java 虚拟机。但这是初级程序员迈向高手的必经之路。


整体上来讲,《Java核心技术卷一》非常值得一读,广度和深度都恰到好处。强烈推荐。


我知道,有些同学因为工作时间的原因,一直没有时间读书。像《Java核心技术卷一》这样厚得像特朗普的脸皮一样的书,更是没有时间读了。不过,不要担心,二哥替大家解决了这个烦恼,我用了一个月的时间把这本书完整地读了一遍,并写了 9 篇高质量且通俗易懂的文章,供大家作为参考。


先来通过思维导图看一下这 9 篇 Java 核心技术博文涉及到的内容。

3)《Head First Java》

在我遇到《Head First Java》之前,如果你要我推荐 Java 技术书,我会毫不犹豫地推荐《Java 编程思想》和《Java 核心技术卷》,因为大家都说好嘛,我只能“同流合污”了(强颜欢笑);但换成是现在的话,我会优先推荐《Head First Java》。


尽管《Head First Java》也非常的厚,至少比我的脸皮后,但趣味性就要甩前面两本好几条街了。这年头,大家都没时间读枯燥的技术书,尤其是厚的。上一张图大家感受一下《Head First Java》的调皮吧。

就冲着这张图,我觉得《Head First Java》的作者就足够的大胆。作者挑选的图片可以说张张经典,真正实现了“图文并茂”的需求,搞得你感觉有点不好意思,仿佛不是在读一本 Java 技术书,而是在读一本《知音》。


不止是图片,还有游戏、拼图、解谜题以及意想不到的内容。真的是一点都不“正经”,正因为如此,阅读起来才感觉兴趣盎然。

06、推荐一些优质的 Java 学习视频

我知道,有些同学更喜欢看视频教学,那么我也为大家精心准备了一些。这些视频我已经分门别类了,所有资料都是无偿分享的,大家可以按需下载。











原出处:CSDN
原作者:「沉默王二」
原文链接:【大学四年自学Java的学习路线】写了一个月,这是一份最适合普通大众、非科班的路线,祝你零基础快速找到一份满意的工作_

收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜