Java程序员如何高效学习

一、认清自己

1.1

认清自己最关键的一点是要知道自己到底想要什么。这是第一步,也是最重要的一步。因为这关系到你能够选对学习方向,能否沉下心来去学习

我们都知道,做自己感兴趣的事情的时候,是可以事半功倍的,因为你愿意去做它,而不是出于某种原因不得不去做。

经常会有人问我,现在前端找工作好找么?java 找工作好找么?我要不要学 android 呢?这些问题的答案其实大家心里都明白:只要你足够优秀,学什么都能够找到一份好的工作。

所以说,不要因为某一个方向火,而盲目的去追;也不要因为某一个方向可能不容易找工作而不去学。

对一个搞技术的人来说,年龄的增长其实不是那么可怕,可怕的是你没有匹配自己年龄的技术深度。当你的工作换一个刚毕业的学生都能做的时候,你很快就会被淘汰了。所以,选方向一定要选自己感兴趣的方向,因为只有这样,你才有兴趣去往深入了学,你才不会在未来被年轻人挤下去。

1.2

认清自己的第二点是认识到人外有人。自满,自大,自欺欺人是影响自己进步的绊脚石。如果你觉得,你现在已经很了不起了,你能做到这个程度已经很不错了,你就会停滞不前,然后浪费大把的时间。

这是我自己的亲身经历。我的学校是一个双非大学,计算机也不是学校很好的专业,消息也比较闭塞。在我的圈子里,我觉得自己已经很不错了,我之前也一直这样认为。但是,当我今年开始准备春招准备校招的时候,我发现我错了,和真正优秀的人比起来,我什么都不是。以前觉得自己会的东西,出去一看,大家其实都会;以前觉得很多知识等工作了再去学也不迟,出去一看,发现早就有人学会了。但是,现在认识到这些已经有点晚了,因为已经开始找工作了,没有时间再去让你从头开始学了。

所以说,永远不要自满,要知道人外有人。如果有一天,你觉得周围没有人比你更厉害了,一定要记得,不是你走到巅峰了,而是你的圈子,应该扩大了。只有你的周围,有很多更厉害的人,你才能意识到自己的不足。这也是我常挂在嘴边的:你想变成什么样的人,你就要去认识什么样的人,你的周围是什么样的人,你就会变成什么样的人。要知道,人以群分。

二、学习的目的

为什么要学习呢?学习的目的,根本上是为了获取竞争优势,增加选择机会。你比别人懂得多,比别人学的深,你就更有竞争力。对于程序员来说,不懂得学习是没有办法在这个行业混下去的。技术的更新换代,技术的深入掌握都需要去不断的学习,如果你不学,很快就会被淘汰了。

找工作的时候,有其他专业的朋友会羡慕的和我说:你这个专业真好,一毕业月薪就上万,我才 3,4 千。其实我想说的是,如果不好好学习技术,搞技术的也会失业。大部分的人都只看到一部分计算机的应届生工资很高很羡慕,却忽略了他们这四年是怎么度过的。天上是不会掉馅饼的,计算机专业的每天看剧打游戏,毕业一样找不到工作。希望以后你不会是那群天天打游戏看剧最后抱怨自己工资低的那群人中的一个。

三、时间管理

知道了自己的方向,知道了为什么要学,那么我们接下来谈一谈,怎么安排自己的时间,或者说,怎么制定一个计划

很多人应该都有过这样的经历:我现在很无聊,不知道做什么好,学习吧,不知道学什么,打开电脑也不知道做什么,打开手机也不知道做什么,然后只能选择看个直播,看个电视或者打个游戏来打发时间。当一天过去以后,突然后悔,觉得自己当时要是学习就好了。

为什么会这样呢?是因为你自己没有一个计划,如果你每天都有一个按时间段安排的计划的话,你就不会迷茫了,你就会知道这个时间点自己应该做什么,而不是用看剧打游戏来打发时间。

关于时间的管理,首先

要有一个大一点的计划,比如年计划,月计划,周计划。 这一年大体上要打到什么目标,这个月要学习哪些知识。 然后是精确到小时的日计划。 每一天,哪个时间段做什么都详细的列出来。

其次,不要太盲目自信。很多人其实从来没有完成过自己的计划。如果你真的能够完成你制定的每一个计划,那现在的你一定已经很了不起了。如果你几乎没有完成过自己的计划,那么你一开始制定日计划的时候,不要给自己太多的任务。因为如果你一旦完不成,就会影响自己的信心。最好的方式是,一开始制定一些简单的计划,然后每天很容易就能做到,然后慢慢的去增加自己每天的任务量。最后找到一个最适合自己的节奏。这个过程可能需要很长的时间,因为你要不断的去尝试,去改进。找到最适合自己的作息时间去休息,找到自己工作状态最好的时间去工作等等。

最后,不要把你的计划当摆设。虽然我上面说过,很多人其实从来没有完成过自己的计划。但是我还是希望你能够认真的去对待它,因为受益的有且只有你自己。

四、学习方法

盲目的学习效果并不好。以前看书的时候,看完一遍再从头看,感觉就像是在看一本新书,完全没有印象。看似自己学了不少,其实真正掌握到的并不多。学习不是你看得书越多,读过的文章越多你就学的越好,而是看你究竟掌握了多了。那么,怎么才能有效的去学习一门新的技术呢?我总结了以下几个步骤。

4.1 学习的步骤

  • 确认学习目标

首先,你需要确认你要学什么,切记不要三心二意。学习最好一个时间段专一的去研究一个知识点,不要今天学 python 明天又想学 java 了。做什么事都有有一个目标,不然容易成为无头苍蝇。目标往大了说,可以是成为某一个领域的大牛,往小了说可以是今天的一个学习计划。

hr 面的时候,一个常见的问题是:你的职业规划是什么。一个优秀的人,必然会有一个属于自己的职业规划,知道自己在什么时期要做什么,知道自己每个时期要完成什么样的目标。学习也一样,当你有了一个清晰的目标的时候,你才不会迷茫,才不会不知道做什么好。

  • 制定学习计划

上面也提到了这点,计划可能赶不上变化,也许今天正好有别的事情导致今天的计划没有完成,但是至少大方向是有的,你不会不知所措,不知道最近应该做什么,这才是计划的根本价值。所以,不要担心计划完不成,这是给你自己学,一天的计划完不成又能怎样呢?

  • 自己找资料开始学习

请记住,不要当一个彻头彻尾的伸手党。因为轻易得到的东西你是不会珍惜的。并且,你不要祈祷你这一辈子所有学习需要的资料都有人会提供给你,自己找资料本身就是自学能力的一部分。当然,我并不是说不让大家去群里问,毕竟能问到也是一种本事,但是你一定要有自己的资料来源,无论是博客还是书或者是官方资料。

  • 脑图与流程图

学习从来都不是只看看书就能学会的,自己构建相关知识脑图和相关步骤的流程图是非常有必要并且非常有效果的。比如你要学习 java,你可以先从网上找一找别人画的脑图,对 java 有一个大致的了解,每学一个小的知识点,就自己绘制一个该知识点的脑图,学完之后,自己再画一个整个 java 体系的脑图,这样你会对 java 非常的熟悉。比如你学 GC,光看书或者博客是很难记住那些流程的,这个时候,你自己画一个流程图,我保证你对这个过程会很清晰。记住:就算是有现成的图,你也应该自己画一个,自己画和看别人的是完全不同的两个层次。

  • 编码

上面的那些,都是掌握理论知识的步骤,是骡子是马还得拉出来溜溜。编码才是重中之重,就算你能把一个知识点吹得天花乱坠,但是一句代码不会写依然没有什么用。

  • 笔记

好记性不如烂笔头,学完的知识,然后记录下来,自己总结一遍,收获有多大你们试试就知道了。

  • 回顾

如果你学的东西,很久都没用,突然有一天你又要捡起它,你会发现,你之前做的努力,太特么值了,你有资料!有脑图!有流程图!还有笔记!分分钟就记起来了。

  • 自己写一个有实际应用的 demo

如果有必要,可以写一个有趣的应用,不是简单的范例。

这个过程,其实是很耗时的,学生建议按照这个流程来,因为学生的时间大把大把的,时间很少的就根据自身情况取舍吧。脑图和流程图我觉得收益很高。

上面说到,有的时候看完一本书再从头看,感觉像是在看一本新书。所以我后面看书的时候,也会做相应的笔记,看的时候会在书上勾勾画画,给一些重要的地方打上标记,看完之后,合上书,用记事本把自己刚刚学的的东西写一下(大纲就行),然后再和书上比对一下做一些修改。当我看完一本书以后,对应的,我还会有一个笔记,以后我甚至完全可以看自己的笔记而不需要再看书了。看 + 回忆 + 记录,可以让你充分的掌握一本书的核心。

步骤大体上是这样,但是也千万别死板的都按照这个过程来,毕竟还是很耗时的。下面分享一些获取资料的途径。

4.2 获取资料的途径和一些工具

  • 找资料的途径

百度/google:先看看他都能干嘛 官网:官网的文档一般足够了 相关书籍:京东和当当经常有活动的 社区:社区也会有人做教程的,还会有一些个人项目可以参考 github:可以在 github 看看某个知识点的 awesome 各大博客以及知名博主的个人博客:看看一些高质量博客也不错 微信公众号:试着找一下相关的微信,当然,微信上的文章很多都来自于博客,但是微信的好处就是,你不用自己找,别人已经帮你找好了,缺点就是,量太少 知乎专栏:和博客差不多 一些视频或者 wiki 教程:现在有很多教学视频的网站,有收费的也有免费的。常见的比如慕课网,菜鸟教程,网易云课堂,易百教程等。一些培训机构的视频,比如CSDN的也很不错~

一些工具

  • teambition | 一个团队管理软件,当然,个人用也是蛮好的,有各个平台的客户端。我用它来安排自己的计划。
  • 百度脑图 | 在线脑图,免费无限容量。
  • xmind
  • processon | 也是在线的,可以画流程图和脑图。免费的容量有限。
  • Visio | 绘制各种图。
  • 番茄土豆 | 番茄工作法的管理工具。
  • coding | 代码管理网站,类似于 github,是国内产品,速度会相对快一点。
  • 我觉得 github 可以当做一个个人品牌来经营,所以最好只放一些很好的项目,一些无关紧要的代码放在 coding 就好了,开源中国的码云也行。

记笔记的一些工具

  • gitbook | 可以直接生成电子书的一个开源工具,不知道的可以了解一下,我现在在用。
  • 简书 | 因为简书可以创建文集,就和文件夹似的,用来做笔记也不错。
  • 有道云笔记 | 也挺好的(我喜欢用 markdown。有道云支持)
  • 印象笔记
  • 各大博客
  • 自己搭博客
  • OneNote
  • 比较推荐用 markdown 来做笔记,markdown 常用的语法也就五六个,很好记,也很好用。

五、影响学习的几个因素

5.1 自己的心态

心态其实是很关键的。我们的周围总会发生一些事情,有的时候这些事情会影响到自己的情绪和心情。这个时候如果你自己调节能力比较差的话,就可能会什么都不想做,不想工作,不想学习。然后颓废好几天。

我想说的是,一个优秀的人一定得是一个乐观的人,不执着于得失,不轻易被影响,积极的去面对生活中所发生的一切。

5.2 外物的影响

我主要说的是手机。现在手机已经成为人生活中不可或缺的东西了,它带给我们方便,但是同时,它也占据了我们大量的时间。我不知道大家平时会不会时不时的打开手机,大部分情况下它和之前毫无变化,但是你还是忍不住的打开它瞅几眼;或者有几个群在不停的闲聊,然后你也忍不住的参与进去,不知不觉时间就溜走了。

不要成为被手机支配的人,所以,当你工作或者学习的时候,把手机静音,放在一边,不去看它,这样你会节省出很多的时间。

除了手机,另一个外物的影响周围的环境。如果你能在一个嘈杂的环境中学习,那就很棒了,如果不能,记得给自己找一个舒适的学习环境。

原文发布于微信公众号 - java工会(javagonghui)

原文发表时间:2018-06-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C语言及其他语言

如何设计一个“高大上”的 logo

来源:CODING-Summer 第一步:搞清楚需求——我们需要一个什么样的 logo 工具:交流(如果这也算的话) 对于整个 Coding 的 logo,老大...

2899
来自专栏程序员维他命

《程序员的修炼 - 从优秀到卓越》- 读书笔记

本书是笔者上一篇读书笔记高效能程序员的修炼的姊妹篇,同样介绍了一些程序员需要了解的,有关于编程本身以外的一些事情。

973
来自专栏新智元

【快报】可自主选择伤人的机器人 | IBM机器学习预测天气

IBM IBM使用机器学习预测天气 ? 在买下天气预报公司The Weather Company的 B2B数据业务后几个月,IBM终于有所作为了。The Wea...

3806
来自专栏炉边夜话

模仿的两端分别是山寨和微创新

                                                                                ...

1012
来自专栏程序员互动联盟

为什么真正的代码高手少之又少?

本文来自一名资深Android程序员,我们且看他的观点,是否更能坚定你从事App开发的信心。   做开发快七年了,对于程序员,外行人总有着数不完的...

3599
来自专栏非著名程序员

万恶的PM是推动程序员技术不断进步的不竭动力

? 万恶的PM是推动程序员技术不断进步的不竭动力。产品汪,你不仅仅是一只可爱的狗,你更是一只藏獒,因为我们程序员都是一群饥饿到边缘的草原狼。—题记 PM与猿...

1837
来自专栏Bug生活2048

QCon全球软件开发大会随笔(一)

难得有机会参加了这次QCon2018上海站,有幸见到了很多大牛,一天培训下来,虽然觉得很累,但真的是满满的干货。「也算对得起这个票价了」

552
来自专栏大数据文摘

从产品设计到虚拟现实:Google虚拟现实团队设计师和你聊VR

1644
来自专栏大数据文摘

天才创业者:4 年时间 Google 收购了他的 2 家公司

1195
来自专栏CreateAMind

田渊栋:什么样的人适合搞AI?AI人才高收入是否合理?

田渊栋 知乎专栏:https://zhuanlan.zhihu.com/yuandong

1243

扫码关注云+社区