`
jxb1016
  • 浏览: 22174 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java开发能力成长有感

阅读更多
   java作为跨平台,开源的面向对象语言,已经成为当今企业平台建设里的主流,无论从后台还是前台的开发,都有丰富的开源组件及框架的支持,而且方便开发高扩展,可维护性的企业应用程序。
    于是又非常多的初级程序员选择了java作为自己的主打方向。当然我也是从一个菜鸟一步一步走过来,虽然现在可能还是个菜鸟,但回顾起来,有很多感触,在此向选择java的新人们分享。
    首先从广义上讲,java分为三个方向,分别是J2SE、J2EE、J2ME。其中J2SE是后两者的基础。大家都知道这样的道理,世界最高的大厦,它一定会有一个非常坚固的地基。没有一个牢固的基础,无法继续更高层的建设。有关什么事J2SE,J2EE,J2ME我不多说了,如果有不明白的,去google。
    学习J2SE并非需要了解每一个包中每一个接口和类。当然如果你是从头到尾学的,而且学的很熟,那么最好不过了,但从我工作中来说,常用的几个包中的接口和类一定要掌握,而且要深入理解。这些包分别是java.lang,java.io,java.nio,java.util,java.net,javax.management等包。其中lang包中常用的我不说,但比如线程方面,异常方面需要特殊的深入理解,这两个方面的应用在工作中很能体现一个人的功底的,尤其是异常的处理。java.io,java.nio配合java.net包来做一些关于socket通讯的程序,有助深刻的理解。java.util包着重理解集合和数组等,考虑他们的应用场合,线程安全问题,性能问题,资源回收问题等,其中java.util.concurrent包中的对与多线程的支持很多,用点心掌握。java.management包是新jdk中的特性,看看JMX相关的东西,一般做后台程序需要它。还有其他的如java.text包中的东西,看下。这个包主要是一些format相关的操作,在后台业务逻辑中常用,比如如何构造业务数据,如何解析等等。在XML方面,需要掌握基本的几种解析方法,如dom,dom4j,sax,jdom等,掌握后再掌握几种开源的解析框架,如XStrem,XMLBeans,JAXB等。差不多J2SE的基本语应用掌握这些就能够使你在工作中游刃有余了,其他的需要的时候再去看也不迟。
    如果你是个开发后台的程序员,那么J2SE只是一种工具,如何能把工具用好,就要看自面向对象的能力和设计能力了。比如23种设计模式中常用的几种,如单例,原型,工厂,代理,适配器,观察者等模式。多线程模式了解下reactor模式。关键是知道什么场合用这些模式,用的时候要注意什么。在掌握模式的情况下,同时也要掌握一些软件开发原则,比如开闭原则,单一职责原则,包的设计原则等,核心思想就是高扩展,低耦合。关于这些抽象上的思想,不是一时能锻炼出来的,需要多编程,多思考,多参考高人写的代码才能掌握。有关设计模式,个人认为写的好的书是一个叫《敏捷软件开发设计与原则》的一本书,写的很好。
    后台的开发能力拥有了,就向j2EE进军,主流几个框架的运行原理,怎么用,2个月能基本会用,SSH相关的视频教程到处都是,个人认为尚学堂马士兵的还不错,其中重点学习下Spring,因为Spring是应用场合比Struts,hibernate要多的多。Struts1,2都要会用,它们是做视图层的最常用的框架,掌握它们再学别的就很快。其中主要思想是MVC的思想。有关MVC设计模式去问google。JSP,Servlet,JavaScript等是基础,好好学下。关于持久层的技术,用的最多的是IBatis和JDBC,有人刚学的会问,不是说Hibernate是老大吗?为什么不用它,我的回答不一定正确,有错误的地方多包涵,那是因为IBatis,JDBC中可以可以用Sql直接操作数据库,赤裸裸的SQL能完成很多业务上的复杂要求,而Hibernate需要非常精通的人才能达到用面向对象的方式来正确的操作数据库,而且性能优化也需要特别的高手。在大型的应用程序上,他要求维护人需是hibernate高手,这无疑给公司带来了额外的成本。所以,一个最基本的原则是,在满足需求的情况下,越简单越好。这样出了问题好解决。所以要先掌握JDBC,再去学其他两种持久层技术。当然也有很多开源的微型数据库,如MongoDB。当然了,像oracle,mysql需要重点学习。sqlserver的话,学习时候可以用,工作中很少用它。
   J2ME的话,我不是做这个的,但我认为它更底层些,需要良好的J2EE基础支持着。
   希望以上的感受能对需要它的人有帮助,谢谢!

   
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics