既然有这么多程序员,我们应该在多大程度上学习java开发以免被淘汰?
1.lz是一个java后端开发人员,所以推荐的学习内容是java web和java后端开发的路线。不熟悉java网络和java后端开发的学生应该正确地引用他们的学习思想,不要照搬。
2.下面的建议旨在让你成为一名能够尽快工作的java开发人员,并且更适合那些失业并准备转换到java的学生。如果你是学生,你必须学习基础知识(如计算机系统、算法、编译原理等)。)之后再考虑以下研究。
对于那些没有学过java的学生,包括一些在校学生和那些即将转用java的学生。
首先,java基础
当您学习java的基础知识时,您应该尽可能多地尝试。大多数时候,当你写一些你认为理所当然的东西并运行它时,你会发现事实并非如此。如果你不相信,试试看。
学习了以上内容后,您应该对java有了基本的了解。您可以用java语言编写一些简单的程序,并使用最简单的编辑器,如记事本。此时,不要急于下一部分,留出几天时间写一些程序,尽可能熟悉这些基本内容。
第二,网络开发
在你写了几天程序后,你经常会感到困惑,因为你写的东西似乎没有用,比如实现一个简单的计算器和读取一个文件。在这个时候,你应该学会写一些有趣的东西,所以你应该学习更多的知识。
这些内容主要与网络开发相关,包括超文本标记语言/css/js(首页)、小服务程序/jsp(j2ee)和mysql(数据库)。
他们的学习顺序应该是从前到后,所以首先要学习的应该是网页,你可以在上面的runoob网站上找到。你可以试着自己写几页。当然,你可以尽力让它变得最美丽。理论上,这一部分对于后端java来说并不特别重要,但至少应该达到自己编写一些简单页面的水平。
接下来,您需要学习servlet/jsp(j2ee),这是java后端开发必须精通的一部分,因此这部分是这三部分中能量最密集的部分。此时,您应该学会使用开发工具而不是记事本,并且您可以选择eclipse。
下载并安装eclipse后,请逐步学习视频中的教程,并确保做得更多。关于选择servlet/jsp的一些视频,业界认可马士兵的视频,所以我们推荐给大家。当然,lz自己还没有看过他的视频,所以很难说它太绝对了。如果你有更好的选择,你可以坚持自己的选择,不要被lz干扰。
最后一步,你需要学会使用数据库,mysql是一个不错的入门选择,而java领域的主流关系数据库是mysql。当您学习servlet/jsp时,通常会遇到这一部分,而jdbc部分是与数据库相关的部分。您不仅应该学会使用jdbc操作数据库,还应该学会使用数据库客户端工具,如navicat和sqlyog。
第三,发展框架
当你学会了以上几点,你就不足以在这个时候工作,你需要继续你的学习。为了提高开发效率,公司会使用一些java web框架,所以你需要学习一些开发框架。
目前,主流的ssm框架是spring、springmvc和mybatis。您需要学习如何构建这三个框架,并使用它们来创建一个简单的添加、删除和检查的网络项目。你不必理解那些配置意味着什么,以及为什么你应该这样做。把这些留到以后理解。但是您必须能够通过使用其中的三个来快速构建一个网络框架。你可以记录下你第一次建造的过程。相信我,你一定会用它的。
此外,在构建ssm的过程中,您可能经常会接触到一个名为maven的工具。这个工具对于你未来的工作几乎是必要的,所以你可以在构建ssm的过程中学习maven的知识。在你目前的阶段,你只需要知道maven在互联网上的基本用法,随着你工作经验的增加,一些高端用法会逐渐与你接触。
第四,找工作
当你完成发展框架的学习后,你应该找一份工作,在学校实习,毕业后找一份全职工作。同时,在找工作的时候,你不应该停止学习。确切地说,你将来不能停止学习。
你刚刚学会使用上面的内容。你可以试着循序渐进地学习。互联网是你最重要的老师。
对于在一年内工作的学生来说,
恭喜你,在这个时候,你已经有了一份java的工作。这是你快速成长的时期,你可能会经常加班。
但是加班并不意味着你可以放松。永远记住lz说的话。从你进入这个行业的那一刻起,你就应该不断学习。今年,你至少应该读完《java编程思想》这本书。这本书的内容是为了帮助你对java有更深的理解,它是java foundation的升级版本。
这本书很厚。lz花了三个月才读完。以正常速度,它应该在大约半年内完成。只要你在一年内读完这本书,lz在这里没有太多的要求。当然,lz说的是完全吸收,而不是读一遍就看完,所以有些内容你可能会多看一遍。
综上所述,现阶段的核心学习理念是在工作中实践,对java基础有更深的理解。
对于工作1到2年的学生来说,
这段时间的学生已经对java有了更深的理解。然而,面向对象的经验可能还不够深刻。在编程时,它仍然停留在完成功能的水平,很少考虑设计问题。
所以在这个时候,设计模式出现了。lz当时读了《说大话设计模式》一书,并写了一个完整版的设计模式博客。因此,lz要求每个人在你工作最多一年的时候就开始写博客,而设计模式是你博客的开始。
记住,lz基本上提出了最低要求,所以不要有任何懈怠的心理,否则,五年后,你不会羡慕别人的高工资或他们进入一个公司。
今年,你必须像了解你的手背一样了解设计模式,“大谈设计模式”可以成为你的起点。
此外,设计模式不是你今年唯一的任务,你需要阅读一些关于代码编写优化的书籍。例如,重构改进了现有代码和有效java的设计。
总而言之,在这个阶段,你的核心任务是提高你的代码能力,写出优美的代码。
对于工作了2到3年的学生来说,
一些学生觉得他们在这个时候已经很强壮了,所以他们忍不住开始慢慢放松。记住,你仍然很温柔。
在这一阶段,有一本书你必须读,这是所谓的深入了解java虚拟机。这本书对于java开发人员来说绝对是最重要的一本书,没有一本。在lz看来,这本书比java编程思想更重要。
这本书的内容是帮助你全面了解java虚拟机。在这个阶段,您必须已经知道java运行在jvm上。因此,没有理由不了解jvm。
此外,在过去两年的工作中,您一定或多或少地接触到了并发性。此时,您应该对并发相关知识有更深的理解,lz推荐了《实用java并发编程》一书。只要你仔细阅读这本书,你就已经了解了并行部分。
同时,你在这个阶段要做的远不止这些。此时,您应该对您使用的框架和java类库有更深的理解。因此,您需要查看jdk一些类的源代码,包括您使用的框架的源代码。
这些源代码可以被理解的前提是你必须对设计模式有一个很好的理解。否则,当你阅读源代码时,总会有这样的问题。为什么代码应该这样写?为什么要定义这个接口?看起来有很多冗余。
由此可以看出,这些学习过程是相互关联的。如果你拉下任何一个阶段,那么你真的跟不上,或者一步一步慢下来。lz负责告诉你,lz在这个阶段学到的东西比这里列出的要多得多。因此,不要认为你学到了很多。lz说的只是最低要求,不仅仅是lz,而且很多人学到的都超过了本文的范围。
如果你跟不上步伐,几年后,如果的程市场不坏,你可能不仅会比别人的工资低,而且你的公司也不如别人,你根本就找不到工作。
综上所述,在这个阶段,您需要做的是深入了解java底层和java类库(例如,并发书是java和java.concurrent的内容发布),也就是jvm和jdk的相关内容。此外,有必要对您使用的框架有更深的理解。建议阅读源代码或官方文件。
此外,还有另外一种学习方法,应该在两年内投入使用,那就是制造轮子。
不要听信公司为了节省时间和成本而编造的“不要再制造轮子”的说法。重复造轮子对其他人来说可能没有价值,因为你造的轮子可能很久以前就存在了,一般来说,你造的轮子不如现有的好。但是对别人没有价值并不意味着对自己没有价值。
制造轮子的过程是一个从头开始的过程。这个过程可以系统地训练你。它不仅检验你的编码能力,也检验你的框架设计能力。您需要使您的车轮具有足够的可扩展性和鲁棒性。
在制造轮子的过程中,你会遇到各种各样的问题,这些问题往往是你学习的机会。当你把轮子做好的时候,你会发现你自己获得了很多。
因此,在这个阶段,除了了解jvm、jdk和上面提到的框架的源代码之外,请根据别人的优秀源代码来构建你能想象的任何轮子。
工作了3到4年的学生
这一阶段的学生很难提高,这一阶段的学习往往是多样化的。因为在最初的三年里,你一定接触过其他一些技术,比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载平衡等等。如果你精通这些技术中的任何一项,这将是你将来面试的一大优势,所以如果你对某项技术感兴趣,你可以在这个时候深入研究它。这项技术可能不会在您的工作中使用,但它必须是相关的。
此外,在研究新技术时,我们应该避免操之过急。今天,一些学生去大数据公司从事hadoop、hbase之类的工作。过了一会儿,我觉得无聊,开始研究分布式缓存,比如redis。然后,过了一段时间,我去学习分布式计算,如mapreduce或storm。
一天结束时,我让自己似乎什么都知道。我在简历中写了大数据、分布式缓存和分布式计算,但事实上,所有这些都只是表面文章。当面试官随便问的时候,他会看穿你。
必须记住的是,作为程的,平日里你可能接触到很多技术,但如果你想让一项技术成为你的优势,你必须比大多数人才更了解这项技术。
因此,在这个阶段,你不能简单地研究前三年的内容。虽然之前的研究如果不够深入,应该继续,但此时,你应该更多地考虑建立自己的优势,这也可以称为差异。
我相信理解这种差异并不难,那就是让自己与众不同。你最初三年的学习足以让你成为一名基本合格的java开发人员,但是你仍然远远不是一名优秀的java开发人员。
所谓优秀,就是能别人不能。您在头三年学到的东西可以被许多已经做了几年的java开发人员所掌握。然后,为了让自己与众不同,你需要找到另一种方式来深入研究,这样在未来,你就可以成为这个领域的专家,比如分布式计算、大数据、并发等等。
除了建立你的差异,你还必须弥补你的缺点。直到现在,lz还没有提到基础知识。原因是地基很无聊。学习太早不仅容易被强迫,而且容易产生心理阴影,以至于我不想在将来研究这些基础。但基础是你在深入研究某些领域时必须掌握的。例如,如果你学习分布式计算,如果你不知道算法,你可以玩毛毛。例如,如果你做分布式缓存,你不知道计算机系统的内存。你如何做缓存?
如果你的基础很强,恭喜你,我相信你在之前的工作中已经充分认识到这些基础的帮助。然而,lz认为大多数人的基础都很薄弱,甚至那些从课程毕业的人,很多人都不敢说他们原来的基础学习有多强,比如算法、计算机系统原理和编译原理。
但是每个人的时间都是有限的,而且这些基础书籍都不能在读完之后就被记下来,所以我们还是要做出选择。虽然一多没有压下,但问题是一多是有代价的,这需要你付出时间和精力,而lz更赞成以同样的价格获得最大的收益。
首先,lz有三本基础书,分别是《计算机系统的深度理解》、《详细的tcp/ip第一、二、三卷》和《数据结构与算法》。关于tcp/ip有三本书,但我们认为这三本书在这里是一本大书。
这三本书适合三种人,《计算机系统深度理解》更适合从事java web开发和app后端开发的人。tcp/ip详细说明第一、第二和第三卷适合做网络编程的人。例如,如果你用netty来开发它,你应该对tcp/ip有更深的理解。《数据结构与算法》这本书更适合那些做计算研究的人,比如刚才提到的分布式计算。
另外,lz应该强调,这里提到的合适之处并不是另外两本书对你没有用。例如,如果你做java网络和应用的后端开发,书tcp/ip详细第一卷,第二卷和第三卷将对你有很大的用处。这只是一种主次关系。如果你有足够的时间,最好能集中阅读这三本书。但是如果时间有限,选择对你最有帮助的书。
理论上讲,如果你今年能集中阅读这三本书中的一本,它已经非常强大了。有了基础和以前的工作经验,你可以发展自己的领域。
今年,我们必须规划自己的领域,建立自己的优势,创造差异。如果你对自己的领域不清楚,随着工作时间的增加,你会接触到越来越多的技术。此时,你很容易淹没在技术的海洋中。似乎你接触了越来越多的技术,并且会使用越来越多的技术,但是你没有优势。
有些学生可能会问,“lz,我不知道我的专业是什么?我该怎么办?”
对于这种人,lz只想说,“操,你为什么不问我?为什么我不只是为你学习,好吗?”
工作了4到5年的学生
经过前一年的经验,我相信你已经在你所研究的领域中获得了自己的见解。此时,您应该已经遇到了技术瓶颈。此时,不要担心提高你的技能。是时候提高你的影响力了。你可以试着去一些著名的公司改善你的背景。你可以发表一些文章来影响更多的人。当然,你也可以去github创建一个你自己的开源项目并构建你自己的产品。这个开源项目不同于以前的车轮制造。在这个时候,你真的必须试着制造对别人来说真正有价值的轮子。
在这个阶段,很容易遇到瓶颈,通常在达到一定水平后,你的进一步进步将没有什么效果,除非你专攻学术研究。然而不幸的是,程最不能做到这一步,这也是科学家们所做的。
此时,提高影响力不仅仅是因为容易遇到技术瓶颈,还因为影响力可以为你创造更多的机会。从某种程度上说,程与很像明星。一部好的电视剧和电影可以造就一群明星,所以程灿·徐苑。一个好的项目可以造就一批程。
例如,中国的几个热门项目,如淘宝、支付宝、qq、百度、微信等。这些项目中的每一个都成就了的许多成。lz敢于说,如果你是任何项目的核心开发人员,这样的头衔已经是你的最大优势。更重要的是,头衔毕竟也是一个头衔。更重要的是,当做这种项目时,它必须对你的经验非常有帮助。
如果你想参与这样的项目,除了运气,影响力也是一个重要的手段。例如,如果你在分布式计算领域有一定的影响力,如果有任何关于分布式计算的好项目,对方很可能会邀请你。即使别人不邀请你,当你主动面试自己的时候,如果对方知道你在这个领域的影响力,那肯定会起到很大的作用,而且这个作用甚至可能超过你目前的技术能力。
因此,在这个阶段,你最大的任务是提高你的影响力,为你未来十年的工作生涯做准备。如果你能以你的影响力和以前积累的技术参与一个伟大的项目,那么在接下来的五年里你将会失败。
在工作了1-5年后,当我们向老板要求加薪时,或者当我们换工作去“接受”这份工作时,我们有足够的信心吗?
你敢在不加薪的情况下“挥挥手,不带走一只虫子”吗?你的主管和经理在提出要求后是否立即
同意,为了留住你。然而,现实往往是...
技术并不太难,所以没什么可讨论的。
技术学习有什么样的思维?在互联网上学习最新技术
有了这个想法,分享最近求职的文档(高级建筑视频+面试材料),面试被滥用,想要提高自己的工程师分享(只分享50份)
数据采集方式:转发+关注后台私有消息回复[结构数据]采集
数据采集方式:转发+关注后台私有消息回复[结构数据]采集
文章来源:www.atolchina.com