继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Java程序猿从渣渣到大牛五年规划?

慕后端1076238
关注TA
已关注
手记 50
粉丝 6
获赞 16

作为一个程序员,技能不是仅有出路,但技能也是十分重要的,现在比赛越来越剧烈,只需不断的进阶才是咱们的出路,编程是一个微妙而又美丽的范畴,这个范畴的大门像着全部具有志向的人们翻开。编程也是一个严峻而又充满比赛的范畴,随时会选择掉不可竭力的人。


  直接来谈每个阶段要学习的内容乃至是一些书本。这一部分的内容,相同适用于一些希望转行到Java的同学。




  在咱们看之前,我要先声明两点。


  1、由于我自己是Java后端开发身世,因而所举荐的学习内容是Java Web和Java后端开发的旅程,非Java Web和Java后端开发的同学请恰当参看其学习思维即可,切勿照搬。


  2、下面关于【第一部分】的举荐内容,目的是让你赶快成为一个能够参加作业的Java开发者,更适用于处于失业情况,预备转行Java的同学。


  假定你是在校学生,有必要要在学好根底(比方核算机体系、算法、编译原理等等)的条件下,再考虑去进行下面的学习。


  第一部分:关于没有做过Java作业的同学,包含一些在校生以及刚预备转行Java的同学。



  一、Java根底首要去找一个Java的根底教程学一下。学习Java根底的时分,应该尽量多着手,许多时分,你想当然的作业,等你写出来作业一下,你就会发现不是这么回事儿,不信你就试试。学完以上内容往后,你应该对Java有一个根柢的了解了,你能够用Java言语写出一些简略的程序,并且你用的是最简略的编辑器,比方记事本。这个时分,不要急于进入下一部分,留下几天好好写一些程序,尽或许了解这些根底内容。




  二、Web开发等你写上几天程序往后,你往往会比较苍莽,由于你写的东西好像看起来毫无用处,比方完结一个简略的核算器,读取一个文件等。这个时分你就应该去学着写一些让你觉得有意思的东西了,所以你应该学习更多的常识。这些内容主要是Web开发相关的内容,包含HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的常识。它们的学习次第应该是早年到后,因而最早学习的应该是HTML/CSS/JS(前端页面),这部分内容你能够去上面的那个runoob网站上找。




  你能够试着自己写一些页面,当然,你能够尽你最大的竭力让它变得最美丽。这部分内容关于后端Java来说,理论上不是特别重要,但至少要抵达能够自己写出一些简略页面的水平。接下来,你需求学习的是Servlet/JSP(J2EE)部分,这部分是Java后端开发有必要十分知晓的部分,因而这部分是这三部分中最需求花精力的,并且这个时分,你要学会运用开发东西,而不能再运用记事本了,能够选择eclipse。当你下载安装好eclipse往后,请视频中的教程一步一步去学习,必定要多着手。




  究竟一步,你需求学会运用数据库,mysql是个不错的入门选择,并且Java范畴里干流的联络型数据库便是mysql。这部分一般在你学习Servlet/Jsp的时分,就会触摸到的,其间的JDBC部分便是数据库相关的部分。你不只需学会运用JDBC操作数据库,还要学会运用数据库客户端东西,比方navicat,sqlyog,二选一即可。




  三、开发结构当你学会以上内容往后,这个时分你还缺少以参加作业,你还需求持续进修。公司里为了行进开发的功率,会运用一些Java Web结构,因而你还需求学习一些开发结构。现在比较干流的是SSM结构,即spring、springmvc、mybatis。你需求学会这三个结构的建立,并用它们做出一个简略的增批改查的Web项目。你能够不了解那些配备都是什么含义,以及为什么要这么做,这些藏着后边你去了解。




  但你必定要能够快速的运用它们三个建立出一个Web结构,你能够记录下你第一次建立的进程,信任我,你必定会用到的。还要提一句的是,你在建立SSM的进程中,或许会常常触摸到一个叫maven的东西。这个东西也是你往后作业傍边几乎是有必要要运用的东西,所以你在建立SSM的进程中,也能够趁便了解一下maven的常识。在你现在这个阶段,你只需求在网络上了解一下maven根柢的运用方法即可,一些高端的用法跟着你作业履历的增加,会逐渐触摸到的。




  四、找作业当你结束开发结构的学习往后,你就该找作业了,在校的找实习,结业的找全职。与此一起,在找作业的一起,你不应该停下你的学习,精确的说,是你在往后都不能停下学习。上面这些内容你只是囫囵吞枣的学会了运用,你能够逐渐查验着去了解更多的东西,网络是你最重要的教师


  。


  在入门学习java或许想要了解的进程中有遇到任何关于怎样去学习,职业等方面的问题,都能够加我的自学沟通群,缺少相关的学习旅程和根底教程能够加我裙。【704,329,519】




  第二部分:关于参加作业一年以内的同学。恭喜你,这个时分,你现已具有了一份Java的作业。


  这个阶段是你成长极快的阶段,并且你或许会常常加班。可是加班不代表你就能够松懈了,永久记住我说的那句话,从你入行那一刻起,你就要不断的学习。在这一年里,你至少需求看完《Java编程思维》这本书。这本书的内容是帮忙你关于Java有一个愈加深化的了解,是Java根底的升级版。这本书很厚,开始看这本书,我花了整整三个月。


  正常速度的话,应该能够在半年左右看完。我这儿不要求过高,只需你在一年以内把这本书看完即可。当然了,我所说的看完,是充分吸收,而不是读一遍就完事了,因而有些内容你或许会看不止一遍。总而言之,这个阶段的中心学习思维便是,在作业中实践,并且愈加深化的了解Java根底。




  第三部分:关于参加作业1年到2年的同学。这部分时刻段的同学,现已对Java有了一个愈加深化的了解。


  可是关于面向对象的体会或许还不可深化,编程的时分还停留在结束功用的层次,很少会去考虑规划的问题。所以这个时分,规划方法就来了。我当时看的是《鬼话规划方法》这本书,并且写了完整版的规划方法博客。因而,我要求咱们,最多在你作业一年的时分,有必要开始写博客,而规划方法便是你博客的开始。


  请记住,我所提的根柢都是最低要求,因而不要有任何松懈的心思,否则五年后,你不要去景仰他人高于你的薪酬,也不要去景仰他人进入了某公司。这一年,你有必要关于规划方法一目了然,《鬼话规划方法》能够作为你的开始。此外,规划方法并不是你这一年仅有的任务,你还需求看一些关于代码编写优化的书。比方《重构 改进既有代码的规划》,《effective java》。总而言之,这个阶段,你的中心任务便是行进你的代码才调,要能写出一手典雅的代码。




  第四部分:关于参加作业2年到3年的同学有的同学在这个时分觉得自己现已很牛逼了,所以忍不住开始逐渐松懈。


  请记住,你还嫩的多。这个阶段,有一本书是你有必要看的,它叫做《深化了解Java虚拟机》。这本书肯定是Java开发者最重要的书,没有之一。在我眼里,这本书的重要性还要高于《Java编程思维》。这本书的内容是帮忙你全面的了解Java虚拟机,在这个阶段,你必定现已知道Java是作业在JVM之上的。所以,关于JVM,你没有任何理由不了解它。


  其他,在过去2年的作业傍边,你必定或多或少触摸过并发。这个时分,你应该去愈加深化的了解并发相关的常识,而这部分内容,我比较举荐《Java并发编程实战》这本书。只需你把这本书啃下来了,并发的部分根柢现已了解了十之六七。与此一起,这个阶段你要做的作业还远不止如此。这个时分,你应该关于你所运用的结构应该有了更深化的了解,关于Java的类库也有了更深化的了解。


  因而,你需求去看一些JDK中的类的源码,也包含你所运用的结构的源码。这些源码能看懂的条件是,你有必要对规划方法十分了解。否则的话,你看源码的进程中,永久会有这样那样的疑问,这段代码为什么要这么写?为什么要界说这个接口,它看起来好像很剩下?由此也能够看出,这些学习的进程是环环相扣的,假定你任何一个阶段拉下来了,那么你就真的跟不上了,或许说是一步慢步步慢。并且我很担任的奉告你,我在这个阶段的时分,所学习的东西远多于这儿所罗列出来的。


  因而千万不要觉得你现已学的许多了,我所说的这些都只是最低要求,不光是我,许多人在这个时刻段所学习的内容都远超本文的规划。假定你不能跟上节奏的话,若干年后,假定不是程序猿商场还不错的话,你很或许不只仅是薪酬比他人低,公司没他人好,而是根柢就找不到作业。


  总而言之,这个阶段,你需求做的是深化了解Java底层和Java类库(比方并发那本书便是Java并发包java.concurrent的内容),也便是JVM和JDK的相关内容。并且还要更深化的去了解你所运用的结构,方法比较举荐看源码或许看官方文档。其他,还有一种学习的方法,在2年这个阶段,也应该启用了,那便是造轮子。


  不要相信那套“不要重复造轮子”的论调,那是公司为了节约时刻本钱编造出来的。重复造轮子或许对他人没有价值,由于你造的轮子或许早就有了,并且一般情况下你造出来的轮子还没有现存的好。


  可是对他人没有价值,不代表对你自己没有价值。一个造轮子的进程,是一个从无到有的进程。这个进程能够对你进行体系的练习,它不只查询你的编码才调,还查询你的结构规划才调,你需求让你的轮子具有满意好的扩展性、健壮性。并且在造轮子的进程中,你会遇到林林总总的难题,这些难题往往又是你学习的要害。当你把轮子造好的时分,你必定会发现,其实你自己收成了许多。所以,这个阶段,除了上面提到的了解JVM、JDK和结构源码以外,也请你依据他人优异的源码,去造一个任何你能够愿望出来的轮子。




  第五部分:参加作业3年到4年的同学这个阶段的同学,进步现已是很难了,并且这个阶段的学习往往会比较多样化。


  由于在前3年的进程中,你必定或多或少触摸过一些其它的技能,比方大数据、分布式缓存、分布式消息服务、分布式核算、软负载均衡等等。这些技能,你能知晓任何一项,都将是你未来面试时巨大的优势,因而假定你对某一项技能感兴趣的话,


  这个时分能够深化去研讨一下。这项技能不必定是你作业所用到的,但必定是相关的。并且在研讨一门新技能时,切忌反复无常。有的同学今天去整整大数据,搞搞Hadoop、hbase一类的东西。过不了一段时刻,就觉得没意思,又去研讨分布式缓存,比方redis。然后又过不了一段时刻,又去研讨分布式核算,比方整整Mapreduce或许storm。作用到究竟,搞得自己好像什么都会相同,在简历上大吹牛皮的写上大数据、分布式缓存、分布式核算都了解,其实任何一个都只是浮于表面。到时分面试官随意一问,就把你给识破了。


  必定要记住,作为一个程序猿,平日里所触摸的技能或许会许多,可是想要让一门技能成为你的优势,那么必定是你对这门技能的了解强过绝大多数人才行。因而在这个阶段,你就不能再简略的去学习前3年的内容了,虽然前面的学习假定还不可深化的话依旧要持续,但这个时分你应该更多的考虑建立你的优势,也能够称为差异性。差异性信任不难了解,便是让你自己变得与众不同。你前面三年的学习满意你成为一名根柢合格的Java开发者,但你离成为一名优异的Java开发者还有很大的间隔。


  所谓优异,即能他人所不能。而你前三年所学习的内容,是许多做过几年的Java开发都能够掌握的。那么为了让自己有差异性,你就需求另辟蹊径,找一个方向深化研讨下去,以期在将来,你能够成为这个范畴的专家,比方分布式核算范畴的专家,大数据范畴的专家,并发范畴的专家等等。此外,你除了建立你的差异性之外,还要去补偿你根底上的缺少,直到现在,我都没有提及根底常识。


  原因是根底是很枯燥无味的,学的太早不只简略懵逼,并且懵逼的一起还简略发生心思暗影,以至于往后再不想去研讨这些根底。但根底又是你深化研讨一些范畴时全部必要掌握的,比方你去研讨分布式核算,你不明白算法你玩个毛毛?比方你去做分布式缓存,你对核算机体系的内存不了解,你怎样去做缓存?


  假定你的根底本来就十分强,那么恭喜你,信任你在之前的作业中现已充分体会到了这些根底对你的帮忙。但我信任大部分人的根底都很单薄,哪怕是科班结业的人,许多人也不敢说自己开始的根底学的多么健壮,比方算法、核算机体系原理、编译原理这些。可是每个人时刻都是有限的,并且这些根底的书本每一本读下来,没个一年半载的,还真拿不下来,因而仍是要有所选择的。虽然艺多不压身,但问题是艺多是有价值的,是需求你支付时刻和精力的,而我个人更拥护在相等价值的情况下获取最大的收成。



  首要,我比较推重的根底书本有三本,分别是《深化了解核算机体系》,《tcp/ip详解 卷一、二、三》,《数据结构与算法》。其间TCP/IP有三本书,但咱们这儿把这三本看成是一本大书。这三本分别适宜三种人,《深化了解核算机体系》比较适宜一贯从事Java Web开发和APP后端开发作业的人群。《tcp/ip详解 卷一、二、三》比较适宜做网络编程的人群,比方你运用netty去开发的话,那么就要对TCP/IP有更深化的了解。而《数据结构与算法》这本书,则比较适宜做核算研讨作业的人,比方刚才提到的分布式核算。



  其他,我要侧重的是,这儿所说的适宜,并不是其它两本对你就没有用。比方你做Java Web和APP后端开发,《tcp/ip详解 卷一、二、三》这本书对你的作用也是很大的。这儿只是分出个主次联络算了,你要是时刻满意的话,能把三本都精读那当然最好不过了。



  但假定时刻有限的话,那么就先挑对你帮忙最大的书去读。理论上来讲,这一年你能把这三本其间一本精读下来,就现已十分厉害了。有了根底,有了前面的作业履历,你就能够去拓荒归于你的范畴了。在这一年里,必定要规划好自己的范畴,建立好自己的优势,制造出差异性。假定你对自己的范畴不可清楚的话,跟着你作业的时刻日益增多,你触摸的技能会越来越多,这个时分,你很简略被淹死在技能的海洋里,看似触摸的技能越来越多,会用的也越来越多,但你毫无优势。有的同学或许会问,“我,我也不知道我的范畴是什么啊?怎样办呢?”关于这种人,我只想说,“卧槽,这还问我?要不爽性我替你学习得了,好不好?”




  第六部分:参加作业4年到5年的同学经过前面一年的历练,信任你在自己所研讨的范畴现已有了自己必定的见地,这个时分,技能上你应该现已遇到瓶颈了。


  这个时分不要着急行进自己的技能,现已是时分行进你的影响力了,你能够查验去一些出名的公司去行进你的布景,你能够宣告一些文章去影响更多的人。当然,你也能够去Github创建一个归于你的开源项目,去打造自己的产品。


  这次的开源项目不同于之前的造轮子,你这个时分是真的要去尽量查验造出来真正对他人有价值的轮子。技能学到这个阶段,很简略遇到瓶颈,并且往往抵达必定程度后,你再深化下去的收效就真的微乎其微了,除非你是专门搞学术研讨的。可是很可惜,大部分程序猿做不到这一步,那是科学家做的作业。这个时分行进影响力不只仅是由于技能上简略遇到瓶颈,更多的是影响力能够给你创造更多的机遇。


  程序猿在某种程度上和明星很像,一个好的电视剧和电影就能够作用一批明星,程序猿有的时分也是,一个好的项目就能够作用一群程序猿。比方国内几个家喻户晓的项目,像淘宝、支付宝、QQ、百度、微信等等。这每一个项目,都作用了一批程序猿。我敢说,这儿面任何一个项目,假定你是它的中心开发,光是这样一个Title,就现已是你十分大的优势。更何况还不止如此,Title说究竟也是个名头,更重要的是,这种项目在做的时分,对你的历练必定也是十分给力的。


  而你假定想要参加这样的项目,除了靠命运之外,影响力也是很重要的一个手法。比方你在分布式核算范畴有必定的影响力,那么假定有什么好的关于分布式核算的项目,对方就很或许会约请你。就算人家不约请你,你自己主动去面试的时分,对方假定知道你在这个范畴的影响力,也必定会起到很大的作用,而这个作用,乃至或许会跨越你现在的技能才调。


  所以,在这个阶段,你最大的任务是行进自己的影响力,为自己未来的十年作业生计那一天做预备。假定你能够靠你的影响力和从前堆集的技能,参加到一个巨大的项目傍边,那么你后边的五年也就有着落了。当然了,我现在满打满算,做程序猿也就4年半不到,因而关于4年到5年这一部分,我的见地不必定是对的,就算是对的,也不必定是适宜任何人的。


  希望咱们自己有的判别力,去抉择究竟该怎样度过这一年。结语本文到此就根柢结束了。我所说的,或许有些是对的,有些是错的,有些是适宜你的,有些是不太适宜你的,你要自己能够判别。其实你在日子和作业傍边也是相同的,你身边的人形形色色,有的人你喜爱,有的人你很厌烦。但其实你喜爱的人也有缺点,你厌烦的人也有利益。


  你要学会从你厌烦的人身上学会他的利益,千万不要一棒子打死,这只会让你失掉许多学习成长的机遇。好了,说了这么多了,就到此为止吧,希望本文能够帮忙到作为程序猿或行将成为程序猿的你。




  --------------少年不竭力,长大搞程序。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP