给那些迷茫的人学习JAVA的一些建议?

前语:我用了3年的时间,一步一步走到了现在,半途也有了解过其他的技能,也想过要转其他的言语,可是最终仍是坚持下来走Java这条路,希望我的经历能够帮忙到后来的人,要是觉得对你有帮忙的话,能够注重一下和转发同享,帮忙让走在Java这条路上还苍茫的同行们。
?
  刚当程序员时,我是归于那种脚踏实地类型的员工,作业心境用仔细来描绘不为过,每天我几乎是团队里最早到公司,又最晚下班的一个。而组员张工一般状况下都是按时上下班的,即使项目进度比较急迫,他也很少加班,除非是有特殊状况,他才加班。

  要是按勤勉程度和作业时间长短来衡量,我想我比张工生动多了。按理说,我这么生动,作业量应该比张工多才对,其实不然,领导安排给我的作业使命和张工的使命比较,我比他还要少。

  从张工提交的代码看,他的代码不只规范并且很高雅,大的不说,就他能对一些根柢控件进行封装处理,还做了拓宽,方便给其他开发人员调用,就现已很让我敬仰不已了。

  而我所谓的作业时间长,其实大多时间是在重复地造轮子,一个相同的功用重复做,不只没有做封装处理,导致冗余代码还多,有时分刚好碰到需求改动,我就把自己累得够呛,现在想想,真的活该啊。

  image.png
  类似这样的状况不知你身边有没有:

  读书的时分,有的同学上课时眼睛睁得特别大,还做笔记,一节课下来,笔记本里密密麻麻的,课后做的练习题也不少,可作用却差强人意。而有些同学表面看似不怎样竭力,学习作用却坚持很好。

  作业时,有些人总是“加班”,看起来很敬业,而他们上班时间却一瞬间逛淘宝,一瞬间刷微博,看头条,该上班时间结束的他们留在了下班时间做。

  …………

  有时分我会有一种错觉,觉得自己清楚很竭力了,连碎片化时间都拿来学习,可跋涉却不大(janetmedwards)。

  甚至本该闲着的时间,为了不让自己闲着,找了一大堆作业来让自己繁忙起来,形似挺充沛的。一段时间后,发现没有取得什么作用,越竭力越失利,所以堕入苍茫。“你看看,我都这么竭力了,怎样仍是老样子。” 逐渐开始置疑自己,继而消沉,甚至精力萎顿。

  其实闲着并不可怕,闲着也是一种享受,能够坚持闲着也是一种才调,可怕的是,咱们觉得是在虚度韶光,盲目地给安排了一些无关紧要的作业, 反而为自己竭力而感动的不要不要的。

  请不要让自己仅仅看起来很竭力,由于作用不会陪你演戏.要让他人景仰,太简略了,恰当装一下就能够了,但要让自己景仰自己,就有点难了。

  image.png
  实在的竭力,不是比谁花的时间多,看上去谁更加竭力,而是能否找到合适自己的办法,然后多考虑,多总结,探索一套合适自己的学习办法。

  繁忙的时分也要留神劳逸结合,一味的静心作业好像老牛拉犁相同,人的体能是有限的,大脑也是需求歇息,超负荷的作业只能下降作业功率,很难发生事半功倍的作用。恰当的放松下,喝杯水,让身心放松下来,或许有意外的收成。

  当时你感到苍茫吗?

  有许多人对现在的作业感到很没意思,由于当时的作业,完全是结束事务,技能上没有任何跋涉。在这种状态下就会感到苍茫,特别是一想到将来这种苍茫感就更剧烈了。

  与其说苍茫还不如说是担忧,跟着时间的推移,自己的技能又没有出息,所以感觉忧心如焚。

  这儿分为二种人:

  混日子,过一天算一天这一种的我就不过多谈论了,没有意义。我也碰到过许多这样的伙伴,此类程序员现已废啦。

  想跋涉自己的技能,往架构师方向竭力。

  架构师的定义?

  个人觉得架构师需求具有以下几特色:

  常识广度:需求知道干流技能为什么诞生,能处理什么问题?假定同一种事务用不用的技能来结束,会有什么哪些优缺点?比方:盛行的ORM结构Mybatis 和 hibernate ,他们之间的优缺点是什么?要有清楚的知道会能在技能造型时做出正确的抉择。

  笼统才调:对事务和技能进行笼统。事务笼统便是对需求进行分析后,能够树立完美的实体类以及他们之间的联络。技能笼统是对全体架构进行一个分层,各层之间的交互。这至关重要,假定技能笼统才调缺少,这会导致整个系统的架构不灵敏,难以维护和扩展。

  常识的深度:至少是某个范畴的专家,比方消息部队,activeMQ了解其源码,知道其结束。

  优异的学习才调:对新的技能和前沿性的技能进行学习,运用它来处理作业中的事务问题 。

  那么你该怎样去做呢?我觉得能够从以下几个过程开始:

  扎实的JAVA 根底,Think in java上介绍的内容都能了解,做到这一步祝贺成为了程序员。

  熟练运用干流结构,如:mybatis,spring 等。

  研讨过至少一种以web结构的源码,如springmvc ,struts等。

  架构过或许参与过高并发系统规划,知道怎样应对突发状况。

  对自己地点的事务能够依据自己的常识维度,提出优化建议或许猜测其危险点。

  怎样更高效的学习?
  许多人不知道该怎样去学习架构师所需的常识,大大都人每天能留给自己学习的时间有限,这个阶段怎样跋涉学习功率就成了要处理的重点。

  说说自己跋涉学习功率的心得,其实十分简略:系统化的学习。

  跟许多人相同,刚毕业时我觉得作为程序员,只需竭力,加上少数天分便能够取得一些作用。

  作业一段时间后,对自己和其他人的知道也越来越清楚,逐渐的发现程序员之间的距离或许比人和山公之间的距离还大,接受这个实际这让我抑郁了好久。

  再过一段时间,发现自己现已能够客观的点评自己的才调,也意识到了距离并不是那么重要,只需想办法跑的更快,就足够了。

  快速成为架构师的学习道路

  以下五大常识系统是我从业多年总结出来的经历,都是当时最干流的技能(tejiashuma)。

  一、分布式架构系统
  分布式怎样来的。传统的电信、银作业,当事务量大了之后,一般服务器CPU/IO/网络到了100%,央求太慢怎样办?最直接的做法,晋级硬件,反正也不缺钱,IBM小型机,大型机,收买了堆硬件。

  总结一下,首先要了解分布式原理,然后对应着每个功用区找业界内老到的产品来实时。互联网作业,根柢都有开源的产品供你选择。

  下图是我总结的分布式的技能霸占点:

  二、微服务架构
  微服务(Microservice)这个概念是2012年出现的,作为加快Web和移动应用程序开发进程的一种办法,2014年开始遭到各方的注重,而2015年,能够说是微服务的元年;

  微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功用分解到各个离散的服务中以结束对处理方案的解耦。你能够将其看作是在架构层次而非获取服务的。

  下图是我总结的微服务的技能要害:

  三、阅读源码、分析源码
  程序员每天都和代码打交道。通过数年的根底教育和作业练习,大部分程序员都会「写」代码,或许至少会抄代码和改代码。可是,会读代码的并不在大都,会读代码又实在读懂一些大项目的源码的,少之又少。这种怪状,真要追究起来,怪不得程序员这个团体本身 —— 它是两个原因构成的。

  咱们一切的教育和练习都在偏重怎样写代码,并没有教咱们怎样读代码,你周围最强的那个工程师的开发水平的上限便是你的上限。

  下图是作为程序员最需求了解的源码系统:

  四、东西的运用
  工欲善其事必先利其器,东西对Java程序员的重要性清楚明了现在有许多库、有用东西和程序任Java开发人员选择。下图列出的东西都是程序员必不可少的东西

  五、功用优化
  功用优化,简而言之,便是在不影响系统作业正确性的前提下,使之作业地更快,结束特定功用所需的时间更短。功用问题永远是永久的主题之一,而优化则更需求技巧。

  总结:
  但最重要也最中心的,是时间拥抱改动的心态和勇气。作业改动与技能展开日新月异,时间拥抱改动,是任何一位优异互联网人必备的质量之一。

原文地址:https://www.cnblogs.com/monkey7788/p/12026479.html

时间: 2024-07-30 14:39:09

给那些迷茫的人学习JAVA的一些建议?的相关文章

一个牛人给java初学者的建议

给初学者之一:浅谈java及应用学java 不知不觉也已经三年了 从不知java为何物到现在一个小小的j2ee项目经理虽说不上此道高手,大概也算有点斤两了吧每次上网,泡bbs逛论坛,没少去java相关的版面总体感觉初学者多,高手少,精通的更少由于我国高等教育制度教材陈旧,加上java自身发展不过十年左右的时间还有一个很重要的原因就是java这门语言更适合商业应用所以高校里大部分博士老师们对此语言的了解甚至不比本科生多在这种环境下,很多人对java感到茫然,不知所措,不懂java能做什么即便知道了

转:详细介绍了如何学习Java

以下详细介绍了如何学习Java,如果楼主有耐心的话,建议仔细看一下~ 学习一门新的知识,不可能指望只看一本,或者两本书就能够完全掌握.需要有一个循序渐进的阅读过程.我推荐Oreilly出版的Java系列书籍. 在这里我只想补充一点看法,很多人学习Java是从<Thinking in Java>这本书入手的,但是我认为这本书是不适合初学者的.我认为正确的使用这本书的方法应该是作为辅助的读物.<Thinking in Java>并不是在完整的介绍Java的整个体系,而是一种跳跃式的写作

零基础的人该怎么学习JAVA

对于JAVA有所兴趣但又是零基础的人,该如何学习JAVA呢?对于想要学习开发技术的学子来说找到一个合适自己的培训机构是非常难的事情,在选择的过程中总是 因为这样或那样的问题让你犹豫不决,阻碍你前进的步伐,今天就让小编为您推荐培训机构新起之秀--乐橙谷Java培训机构,助力你成就好未来. 选择java培训就到乐橙谷 北京有什么好的Java培训机构?来乐橙谷北京学Java,零基础走起,乐橙谷Java基础班授课老师经验非常丰富,课程内容安排合理,适合于有一点点Java基础甚至一点都不会Java的同学学

【JAVA学习笔记】-零基础学习JAVA人分享自己的心得(转)

进入毕业季,毕业设计早早的做完,不想那么早进入职场,便趁此大好时光,一边接受企业培训,一遍自学JAVA.在我看来,学习一门语言必备的几个要点在于,看,练,悟.在这个连技术也已经沦为快餐的时代,很多人无可厚非的认为,在短时间内,快速应用一门语言才是他们所追求的,这也造成了当今培训机构的泛滥.我对此不评价,存在既是合理.但是,我这些心得体会,是想对那些真正喜欢技术的朋友,动机纯粹的朋友而言的,那些不喜欢的人,尽管拍砖,嘿嘿. 学习技术的时候,你是否总会被一些琐事烦恼呢,qq,网游,小说... 我并不

献给那些前端学习迷茫的人 -----前端开发必备的11项技能!!!

你也许会觉得前端开发是一个很简单的工作,对呀,你就是刚刚从网页设计转型过来的.但当你深入其中时,一定会发现好像前端开发不是那么简单,光网站性能优化.响应式.框架就让你焦头烂额, 确实,做前端开发就是先易后难,想成为一个优秀的前端开发,没有那么简单. 不过,天下事难则不会,会则不难,你只需要掌握11项技能就可以成为前端"大拿",下面,就告诉你这11项技能是什么?以及每项技能的要点,最后是相关的专业图书. 入门必备的技能:   第1项技能:HTML超文本标记语言: 技能要点: HTML文件

2019思维最清晰的java学习路线图,看懂后学习java不再迷茫

笔者做java开发也有几年了,现在回想自己学习java的经历,当时真希望有一部大体的学习框架,这样自己就不会走许多弯路了,这是我在这三年工作和多年学习中的经验,希望对迷茫的java爱好者有所帮助:第一步 首先要做好学习前的准备工作:java语言一般用于大型的服务器程序开发,所有有必要了解如下内容:Unix开发环境Unix系统原理.Unix开发环境.Unix常用命令.熟练掌握Unix常用命令:熟练构建下的Java开发环境. 第二步 然后进入Java语言基础的学习阶段,学习任何一门语言都要打好基础,

关于如何学习java

其实很多人会选择参加培训班,因为自学的时候困惑真的好多,真是对的.我这篇文章只是曾对在校的大学生而已来说的,身为一个软件工程专业学生的我.迷茫了4年,这是为什么呢?原因归纳有如下几点:1大学的老师好敷衍学生,敷衍了事,一点责任心的没有.2自身的学习方法不对3受其他的人影响. 在此,我就说说如何去学习java这本语言.说实话,java真心难学,不要说什么ssh之类的,就连基础的javase都够你学一辈子,现在主流jdk5,6,7就这个几个版本的内容都够你学,没人多少人个敢说自己学的很精通,为什么呢

如何学习java?

嗯,不知不觉中,学习java的时间快要两年了.在学习这两年中,遇到的挫折很多,收货的知识也很多.下面我给出我自己在学习过程中使用到的经验,以及相关的资源链接,希望每一个爱编程.爱java的人,可以有所收货. 新手阶段 作为一个新手,找到一本学习的课本以及相关的视频教学是至关重要的.我在开始学习的时候,使用的教材是: 1<java开发实战经典>,该书作者是李兴华,是一个很好的讲师.下面链接为mldn公司的相关链接,大家可以进入该网站找到相关视频资料: mldn魔乐科技 在学习这个基础知识过程中,

为什么需要学习JAVA

很多人会有很多疑问为什么需要学习JAVA,而不是学习Android.IOS.WEB前端,似乎这些才是目前最火的. 首先从学习曲线来说,学习任何一种后台的编程语言都比较难,相反,Android.IOS.WEB前端这些属于前台东西,学习会相对简单,大家都知道简单的东西其实会的人会更多. 另外我们经常看到是JAVA架构师.项目经理带着Android.IOS.WEB前端.运维这些人在干活,从来没看到过一个 做Android的或者IOS的说去带着后台的人做开发的,所以从这方面也可以看到学习JAVA更靠得住