2021,初学Java应该如何开始,深度梳理,避免迷茫

给初学者多一个思路

对于有【0 基础】【初学】【大一】这些标签的小伙伴来说,往往会去先去网上搜集一些学习路线,以此来规划学习计划。

而 Java 的学习资料在网上不能说是遍地都有,但也可以说到处都是了(废话文学),对于学习资料的获取途径,无外乎以下三种:

  • 看书:网上推荐的书籍太多,我到底要看哪个?

  • 看系列教程:到底是付费的好还是免费的好,我应该看谁的教程?

  • 看个人专栏/个人网站:对于初学者来说,难以鉴别教程的好坏与是否过时。

网上的资料实在是太多了,有时候这里找来那里去的,一天就这样过去了。

在学习之前,我们应当先梳理出主线,然后再有支线,本文的目的,就是帮助初学的小伙伴搭建一条学习 Java的「主线」,避免迷茫,避免焦虑,完成第一阶段,从而积累信心进入第二阶段!

当然,不同的人有不同的学习习惯,这里只是做一个推荐,希望对初学的你有所帮助,你也可以在这条主线的基础上进行增删,最重要的是适合你,不在中途放弃,就是胜利。

如何选择知识获取的途径

首先说一下我的看法,对于初学者来说,可以选择看书或者寻找免费的初学网站/个人博客/个人专栏,总之文档类型的资料最好。

为什么呢?

首先看书或文档,是所有学习途径中效率最高的一种方式,前提是你掌握了正确的方式,然后自我驱动。

看书的话要挑好书,挑对书,并且学习章节也是需要挑选的,这个暂且不在这篇文章中讨论。

但是嘛,每个人的学习习惯不一样,有些小伙伴就喜欢通过看系列视频教程来学习,因人而异,只要能学到知识就是最适合自己的学习方式。

其次就是看视频教程,视频教程有免费的,也有收费的。

对于免费教程,在 B站也有一些机构会把往期的收费培训课免费的放出来,这些往往都不会太过时,可以挑选一些播放量高,评价好的课程。

对于初学阶段来说,我不建议对视频教程进行付费。

首先付费课程为了营销都会进行一定的包装,甚至一些免费课程也是为了付费课程而准备的,作为一个新手,你可能在不知不觉中就被割了(为什么我会知道呢?……啊tui,我是韭菜)。

当然并不是说付费课程都是垃圾,有很多优秀的课程是值得购买的,但付费前还请三思啊朋友。

除此之外,一些个人博客/个人专栏以及一些免费的学习网站也是值得一看的,有些老师的博客写的特别好,有自己的网站,每个人的文风文笔也不一样,看着不枯燥,这些都是非常好的学习资料。

总而言之,先明确入门阶段要学习的知识,写出第一份学习大纲,然后按照计划稳定推进即可,至于第一份学习大纲要怎么写,别急,且听我说。

工欲善其事,必先利其器

在学习之前,我们应该先把运行环境搭起来,具体的流程我就不写了,在这里就写一下要准备的软件,推荐的工具以及对应的版本。

No.1 JDK1.8(必装)

Java 基础环境,开发必装

官网地址:Java 归档文件下载 - Java SE 8u211 及更高版本 (oracle.com)

img

据说最新的 JDK 已经是 17 了,一开始我很震惊,怎么我还学着1.8,官方就更新 11 了呢,到现在我已经麻了,他更任他更,1.8 我的根。

各大企业依旧用着 JDK 1.8,主流版本依旧是 1.8,哪怕是一些技术先进的公司,最多就用上了 11,然而他们之间的区别并不是很大。

所以经典的 1.8 版本任然是你学习的最好版本,各大教程基本都以它为基础。

当然如果你不嫌麻烦可以安装多个版本的 JDK。

No.2 Jetbrain IDEA 2020+ (必装)

超神级编辑器,你不会想用记事本写代码吧……

官网地址:IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains

learn-java003.png

都快 2022 了,就别学 Eclipse 了吧……

另外,好消息,Jetbrain 全家桶对于学生来说是免费的。

小提示:你可以下载官网的 Jetbrain Toolbox,如果 IDEA 是英雄联盟,Toolbox 就是 WeGame。

No.3 Xmind(推荐/免费够用)

思维导图

官网地址:XMind思维导图 | XMind中文官方网站

learn-java002.png
用来梳理学习思路,或制定学习大纲。

好了,没了,就这么多,刚开始学,不需要太多东西,千万不要被花花世界迷了眼。

抽丝剥茧,梳理主线

对于 Java 来说,要学习的东西那可太多了,就拿 Java 语言本身来说,我随便那么一梳理:

  • 基础语法

  • 常用集合

  • 反射

  • 注解

  • 异常

  • I/O

  • 网络变成

  • JDK 新特性

  • 多线程

  • ……

毫无疑问的说,上面的都是基础,但问题是,初学的你学的过来吗?一些个基础不牢靠的老鸟上面那些东西他也不一定全会,哪怕是基础牢靠的人,工作久了也容易把技术栈偏向一边,这也是为什么面试前,大家都要再复习复习的缘故。

好的现在基础你按部就班的学完了,来到进阶的阶段,我再那么随便的一盘:

  • 关系型非关系型数据库

  • ORM 框架

  • Spring 全家桶

  • 消息队列

  • 搜索引擎

  • 分布式基础

  • 数据结构

  • 常见算法

  • ……

好家伙,反正我初学的时候是看蒙了。

话不多说,这里先直接推荐一个路线给大家:

learn-java001.png

这些东西并不是很多,狠一点的专注个两三天也就学完了。

是的,就这么多,没有什么中间件,没有什么数据库,我们先关注 Java 语言本身。

当然,每个人的基础不一样,可能有些人在学习 Java 之前,其他计算机知识特别充分,那么这个线路就完全不适合它,这个线路在我看来更适合的是那种真正「0基础」的同学。

授人以鱼,不如授人以渔

其实说白了,不管你学习哪个模块,在学之前都要调查清楚,这个知识点是否过时,是否任然可学,像 SSM 项目,完全可以直接学习 SpringBoot 来代替学习 SSM 项目,像 JSP,完全没必要学习了呀。

总之就是多查,根据手上掌握的信息,去制定自己的学习计划,不要小看做计划,一个好的计划能让学习事半功倍

最后

如果对你有帮助的话可以一键三连啦!