一文阐述Java从初级到高级的学习之路——白老师分享篇(2)

         上次我们分享了为什么学习Java以及Java发展的方向,今天我们来分享白老师对Java的初级、中级、高级的学习是如何规划,希望有参考的价值,能够帮助大家更清晰的了解Java的学习之路。

         本文大概:2500字 阅读需要:5分钟

初级篇
         俗话说“师傅领进门,修行靠个人”,所以说只要入门了,后面学习起来是很快的,而且比较容易。那么学习Java应该如何入门呢?

         (1)首先要理解面向对象的概念,这个很重要。

         但也不是说必须完全理解概念才能去学Java。而是先接触Java的基础知识,如类、属性、方法等。然后在学习的过程中理解面向对象的概念。

         (2)在大概理解了面向对象的概念后,这时你应该学会了一些Java的语法和一些API的使用。

         这时需要继续深入地去学习这些。同时要养成自己良好的编码习惯,Java有自己对包名、类名、方法名等的命名规范。这个时候要尝试按照规范写代码,同时甩掉以前写代码时养成的不良习惯。

         (3)在熟悉了常用的API及语法后要去学习I/O和流(Stream)以及多线程编程和网络编程。I/O和输入输出流,要熟练掌握。而在这个阶段暂时不需要深入了解多线程编程和网络编程。

         (4)在系列基础完成之后就需要去接触下数据库和JDBC,对于数据库不需要深入了解,能够创建表、查询表数据即可。然后尝试使用JDBC连接数据库,并对数据库中的数据做CURD操作。

         在学习Java初期,我建议大家使用文本编辑器来写代码,一是有助于记忆Java中的一些关键字和常用类及方法,二是可以熟悉Java的常用命令。在使用了一段时间的文本编辑器后就可以使用IDE来开发了,使用IDE将使你写代码写得更快,也不容易出错。

         基础是很重要的,虽然简单,但是也不容忽视。这里推荐几本书《Thinking in Java》、《Java 8编程参考官方教程》等图书(图书资源推荐)。

中级篇

         入门后就可以选择主攻方向了,几个方向在职业篇中已有介绍。通讯开发方向其实在这个时候就可以转了,但是还是建议学习下Java中级的内容,这些内容也有助于你今后在通讯开发的路上走得更容易。因为我是主攻Web方向,所以这里我们只讨论Web方向。

         (1)在这个阶段你接触的知识面将更广,在学习Web开发之前首先需要学习HTML和CSS,然后再学习JS以及jQuery。

         (2)在有一定基础之后就可以开始学习JSP和Servlet了,重点学习下JSP的内置对象及EL表达式,并试着去做一些页面。然后学习下Ajax,要能够熟练的使用JSON和XML来做数据交互。

         以上内容学习完之后Java的基础部分就算是基本掌握了,下面就该学习一些框架了。

  1.          (1)建议先从Spring学起,Spring将成为你今后开发项目的核心框架。Spring也是现在项目中最常用的框架。可以深入的学习,试着去理解Spring的一些实现原理,这将有助于你更好的使用Spring。

  2.          (2)学完Spring之后可以学习下ORM框架,比如hibernate和MyBatis,这些相对于Spring来说要简单的多。主要学习与Spring的整合和Spring中的事务管理。一定要深入的了解数据库事务,这将对你今后的项目开发非常有帮助。

         (3)最后我们来说控制层的学习,这里我建议大家重点学习SpringMVC。因为SpringMVC是目前使用最为广泛的控制层,而且简单易学,已经有了要替代Struts的趋势了。但是Struts还是要学习下,毕竟还有一些公司在用,这将为你找工作加大一点筹码。

         (4)在学习这些内容的过程中一定要学习下代码管理工具SVN和Git,目前SVN在企业中用的较多,而开源社区一般都是用的Git。

有了JSP基础和掌握了框架的使用后就可以出去找工作了,在工作过程中这些知识你将掌握的更加牢固。也可能在工作过程中会遇到你没有学过的技术,不要怕,有了之前的基础你将很快掌握这些新的技术,加入工作的第一年将是你进步最快的一年。

  1.          而加入工作之后你可能也不会有太多的时间来学习,这时候要约束好自己。不要忘了学习,学习是最好的进步方式。

高级篇

         当我们参加了工作之后,开始接触更多的技术。如果有机会就多学习些技术,不求精通,但求会用,并且知道这项技术能够解决什么问题。

         (1)开始在项目中参与设计文档的编写。能够为自己的项目选择合适的框架,并且能用自己学到的技术去解决项目中遇到的难题。

         (2)这时候根据项目和公司的差异用的技术也不尽相同,但是日志框架、项目构建、单元测试、缓存、集群、负责均衡、SOAP等是一定要掌握的。这些是在大型项目中比较常用的技术。然后可以根据自己的兴趣及业余时间去学习自己感兴趣的技术。       

          在这里我们谈到了从初级到高级的成长之路,那么,同样是程序员,初级、中级与高级的区别在哪里呢?

         (1)初级程序员就是传说中的码农,依靠复制粘贴、比葫芦画瓢的方式完成代码的编写,通常一个方法几百行代码,恨不得一个类将所有的功能都实现,不考虑程序设计原则,也不考虑程序的执行效率,不考虑SQL注入的问题,更不去想如何能让我的程序质量更好,他们的目的仅仅是我的程序能够运行。

         很多程序员都会经历这个阶段,而这个阶段是最容易养成毛病的阶段。但是有的程序员很快就摆脱了这个阶段,也有很多程序员停留在这个阶段很长时间,哪怕是掌握了更多的技术,但是这个阶段形成的思维模式却没有改变,养成的毛病也没有改掉。
         (2)中级程序员更喜欢优雅的代码,而自己写出优雅的代码,封装、继承、抽象运用自如,能够独立完成系统中模块的开发。
         (3)高级程序员能够完成系统的设计,能够使用已掌握的技能解决问题。并且能够考虑到系统的扩展性、安全性、稳定性等问题。

         (4)架构师,首先要具备中大型项目的总体规划和设计经验,通常架构师考虑的要比高级程序员更多,有时需要考虑到项目的成本、工期、部署环境甚至一些商业因素等,不仅仅是技术上的问题。其次架构师同样需要有很好的沟通能力,一是与客户的沟通,二是与团队内部纯技术的沟通。

总结

         很多程序员都止步于中级级别,靠一手SSH技术行天下,而身处初级时养成的毛病仍然存在,有的甚至已经工作5年却一直是这样,可塑性极差,由于工作时间长也学会了一手掩盖问题的好本事,这类人毫不客气的说就是项目的祸害。

         也有一些人达到中级或高级级别后厌倦了编码,从而转做需求分析、产品经理或项目经理,在国内做技术确实也很难拿到高工资,这也是很多技术人员转型的原因。而我依然坚持我的技术之路,既然选择了就要坚定的走下去。

         也希望想要入行的同学,大致规划一下自己的路,目标明确,有清晰的规划将会是个很好的开端。

评论列表

添加评论

提交评论

服务热线

010-57480310