零基础如何学习Java?从零基础到入职,分享我的自学心得!

这是我2021年的第一篇文章,这么安排的初衷是:

1.出学习方法相关的文章是我一直想做的事,我希望去分享我学习Java过程中的一些方法,让起步晚的程序猿少走弯路。我们都在羡慕一毕业就能进一二线大厂的同龄人,他们刚迈进大学校园就为了就业做准备,所以说,活该他们进大厂。我们曾经浪费的时间已经回不去了,所以我更知道野生程序猿的难处,因为我身临其境,所以我希望大家能更快更好的进步。

2.一直在思考学习这件事,经过公司同事的培养,认为自己应该能讲清楚学习这件事,不至于误人子弟!

3.2021年是牛年(我的本命年),以此开篇,希望自己牛气冲天

1.学习的目的

思来想去,大部份人学习的目的是为了赚钱。当今社会说学习是因为兴趣,常常会被挂上虚伪的标签,我相信因为兴趣学习也是大有人在的,所以大家没必要去抨击别人或苛责自己。在当前社会环境下,90后是被时代推着走的,各种物价房价,结婚生子都要用到钱,所以你应该学习,应该变得更加优秀,应该去赚钱。所以,学习的目的是为了赚钱,这个结论应该适用大部分人。

2.谈谈学习

这里的学习指的是学习任何新事物,不单指学习Java。关于学习,我认为不同时期有不同的学习方法,对于初学任何新事物而言,我认为遵从三个步骤就可以了。三个步骤是:它是什么?它能做什么?它大概是怎么做的?这就是我学习初期的方法,这个方法启发来源于崔希凡老师的JavaWeb视频,我尝试过一段时间,自认为对初学者是非常好执行且有效的。初学时,判断自己是否掌握的标准就是问自己:它是什么?它能做什么?它大概是怎么做的?,它会引发你思考,帮助你构建知识网络(初期可能体会不到,后面会慢慢体会到)。网上万人推崇的费曼学习法,它的精髓在于给别人去讲清楚你所学的知识,前期我觉得不用刻意去执行这些方法论,原因有二:

1.很少会有人愿意听你讲,因为会花销很大的时间成本,你每天都在学习,但是没有人会每天都听你讲。

2.站在巨人的肩膀上是没有错,我觉得跑之前得学会走吧,不同的时间用不同的方法才是最好的做法。

3.Java学习相关(能找到工作即可,后面的找到工作后再提升,以用为本)

对于0基础的Java初学者或者基础稍差的,我觉得应该从两个层面入手,第一就是有一个清晰的学习路线(指的是基础路线,以学完能找到工作为标准),刚开始我觉得没必要去学习最新最牛的技术,基础打好才是正经事。我相信初学者网上看到任何一个学习路线都会血脉喷张,有种找到了方向的喜悦感。关于路线建议参考培训机构的路线。因为有些大机构是有研究院的,这些路线就是业界大佬静下心来讨论的成果。零基础看这个无疑是最好的选择,一些知名博主也有一些不错的路线,但是众人拾柴火焰高啊,机构研究院那么多人的智慧结晶可能会更有说服力一点,毕竟人家是专业做培训的。

第二就是有人带,这个人最好是自学过的人而不是什么大牛,为什么这么说呢?两方面原因,一个是很多人是找不到跟大牛聊天的机会的,第二个是自学的人是有踩坑的经验的,学习的进度与方式是更适合零基础初学者的。站在大佬的角度,知识渊博但是他不知道你的情况,因为你们起点不一样,他们可能深知操作系统,计算机组成原理,精通其他编程语言,他们可以看书一个月入门Java但是我们不行!但是自学过一两年的人恰恰跟零基础是同一起跑线,都是从零基础开始的。

对于学习Java学习没有规划,没有资料的可以找我获取,网上资料也很多,但是需要甄别资料好坏,最好是一整套的培训资料。这样可以避免复杂的环境配置,老师的讲授风格也是一致的且全程是衔接的,前期可能配一个环境会给初学者造成极大的挫败感。有好的视频可以看完这一遍在补。毕竟一遍过是不太理想的。

4.关于学习上的迷茫,我该学什么?学到什么程度?如何学?

这部分想表达的就是参加工作后很多人的困惑。其实自学完黑马的Java路线后我心里就有很多问号了,产生这部分困惑的原因有两个,一个是学完了基础的路线不知道学什么,一个是因为面试,再看了面试要求后,一些常见的名词冲击着我的脑海,不能遗忘。例如,sql优化,redis,linux命令,微服务,消息中间件等等,东西多的数不过来,科班出身很多人都会提及到操作系统的重要性,这个时候是继续向前走还是回头学学计算机操作系统,组成原理等计算机基础知识,这些知识对后续的学习有帮助。举个例子,多线程大家都知道吧,大多数初学者对于多线程执行时有点误解,他们都认为是线程在抢夺cpu,谁抢到谁执行。其实这么讲是为了让人更容易理解。实际上,线程没有那么大的权利,他们是无法争抢cpu的,实际情况是cpu随机挑选一个线程执行,称之为时间片的轮转。

相信这个问题困扰了很多人,其实这个问题答案就四个字,就是以用为本。工作中用到什么,我们就补充什么。请大家做个选择题:

A:学习知识A,这个知识你认为优先级特别的高,比如SQL及SQL优化

B:学习知识B,这个知识你认为它没有知识A重要,比如熟悉公司springboot空项目

这是一个反常识的选择题,我想很多人都会选择A,二者相比肯定是sql及sql优化比较重要的,但是刚进入公司我们很少会自己去写sql。假设sql占日常工作的10%,那么你sql学的再好,最多就是10分。在这里请大家思考几个问题:

你们知道自己公司的示例工程是什么结构吗?(以我们公司为例,总监问我的问题是你知道springboot里有几个模块吗?)

你知道每个模块里面都包含什么,是用来干什么的吗?

这两个问题不知道大家是否清楚,我想很大一部分新人是不知道的,举这个例子不是让大家去看自己公司的示例工程,而是告诉大家你在不知道学什么的时候应该去思考什么东西会让你的工作效率提升。这是一个反常识的东西,人们总是认为自己喜欢的东西就是最重要的,实际上这有点管仲窥豹的感觉,意思是管仲用竹管看豹,只看到了斑点,而看不清全貌。总之,你应该提高工作效率,将多出来的时间拿去学习。原来工作8小时的工作量,现在4小时完成,你就多了4小时的时间去学习其他东西,原来8小时的工作量,现在7小时完成,你就多了1小时的时间去学习其他东西。

5.同事教会我的学习方法

5.1 建立计划(建议钉钉非常的奈斯)精确到小时,前天完成明天要做的事,这样就会有优先级

说说我周会迟到的事,公司Q4周六加班,早上有个8.30的会,周五那天是提前发出了会议通知,我也看到了,但是第二天就忘了,习惯性认为是9点上班。因此就迟到了。

现在说说为什么要建立计划呢?有计划你做事就是有目的性的,有规划的。至于为什么使用钉钉,原因有一下几点:

1.钉钉可以建立日程,可以写工作内容,并且可以设置时间

2.任务开始之前,钉钉会提醒你

3.很多公司都在用钉钉(提前熟悉)

建议:当前晚上想想第二天要做的事,哪怕是第二天是周六,明天要做的事也可以是休息。为什么要前一天想呢?看看我为什么迟到就明白了

5…2 复盘

进入公司后,总监说最遗憾的就是缺少复盘。复盘多了写代码就会越写越快。为什么呢?因为做一百遍不如总结一遍,总结的东西就相当于错题集,以后多看几次基本就印在脑海中了,每次写到类似代码就可以直接写,不用去搜索了。复盘的方式很多,可以是文章,可以是写笔记等等

6 贵在坚持

在这里插入图片描述

这是我自身经历,坚持学习65天。本来目标是100天,被毕业相关事宜打断,随后便是工作。2020年与我而言,是最好的一年,也是最坏的一年,这一年我很充实。就这一年的经历来说,65天的坚持奠定了我扎实的JavaSE基础,为我进京打下了基础。坚持两个字说起来简单,做起来很难。

请大家永远相信,人间值得,未来可期!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jayden 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值