论J2EE程序员的武功修为

j2ee|程序|程序员

  经常会跟一些朋友讨论怎么样才能学好Java,学到什么程度才算撑握了Java的问题。其中有一个J2EE程序员层次及武功修为的问题,有点意思。这里就把讨论的内容大致整理一下发出来,大家继续讨论。

  纵观国内的软件行业,靠Java吃饭的程序员还真不是少,而且Java程序员是有很大优越感的,毕竟对于很多用b/s搞开发的业内朋友来说,Java技术意味着难度大、门槛高,因此相对来说Java程序员比其它的程序员(如php、.net)收入高就理所当然。然而J2EE所涉及到的范畴是很广的,不能一个Java程序员就概括了事,而应该具有层次及水平之分,很多时候经常需要进行分类或评级,有时他评、有时自评。

  谈到国内J2EE领域的程序员层次水平,当前流行的称谓及评级不外乎就下面几种:

  第一种是精通掌握记事本、Dreamweaver等工具来写JSP+JavaBean数据库应用的是J2EE程序员;

  第二种是用JBuilder、Eclipse等专用Java开发工具写着一堆一堆过程式Java Bean,而且还能精通Struts+Spring+Hibernate等应用框架的高级J2EE程序员;

  第三种是用Together建模,然后生成一堆Java接口或代码,开口闭口都是设计模式的资深Java程序同及高级系统分析、构架师;

  最后还有一种是整天在BlogJava或JavaEye上谈经论道的大师们,这些大师技术水平难以触摸,武功门派也各具特色,不好归类,有时不好称为程序员(因为有的时候他们甚至不写或者写不出程序),但又做着与J2EE程序员密切相关的事情,我们暂且就归为“牛牛”或“大师”。

  称谓毕竟只是称谓,带有点主观或者功利色彩,有时很难鉴定一个人应该属于什么,因此,我们再从纯技术的角度,也即武功修为的角度,作了一个简单的分析及归类,把2EE领域程序员大致分成以下几个层次,可以作为大家自评的一个参考标准:

  第一个层次:精通掌握Java语法、能调试基本的程序错误,精通掌握JSP+Java Bean写一些N年前ASP、PHP翻版的Java Web应用程序(如论坛、网站新闻发布系统、OA、网上商城等),精通JDBC使用、精通SQL语句、精通XML等。

  第二个层次:掌握设计模式原理及应用,掌握基于OO的分析及设计方法,并能精通熟练使用几种Java专业设计及开发工具,精通掌握流行的J2EE框架如Hibernate、EJB、Webwork、Spring的原理及应用,精通J2EE中一两个组成部分(如Servlet、EJB等)的工作原理及细节。

  第三个层次:少林的高僧有两种,禅僧及武僧。J2EE程序员的第三个层次也同样有禅、武两个分支,这里我们重点分析一下:

  第一个分支属于走的禅僧线路。在练完第二个层次中的各种武功基础上,结合实际项目中的千奇百怪的用户需求,游刃有余的选择适合的技术方案为客户解决问题,并形成自己的一套解决方案。达到这一个层次的J2EE程序员已经不在乎使用任何工具、任何框架了,而是根据不同的对手,使用不同的武器或招式来应对。好比小李飞刀一样,只有达到了“手中无刀、心中有刀”的境界,才能达到“出手一刀,例不虚发”的效果。这一层次的武功属于一个熟练度问题,刀练得多了、遇到的对手多了,再加上前面的武功修为,就算做不到例不虚发,也可达到十发九中。

  第二个分支属于走的武僧线路,在撑握熟悉第一二个层次中涉及到的内容后,进一步专研并撑握J2EE底层开发,J2EE规范制订、规范实现、Java虚拟机的工作原理、各种常见的J2EE服务器内核工作机制、内存管理、进程机制、源代码等。因为涉及的很多东西都比较抽象,代码也很多,练这一层的武功需要有很好的资质及耐性、并具还得有一定的环境及条件。好比神雕大侠杨过拿起“玄铁剑”,并练成“暗然销魂掌”的成长过程,需要前面的武功修为作基础,更需那只威力神武神雕的帮助指点及他处处为民、惩奸除恶的侠之心态。
  
  胡侃了这么多,现在来根据自己情况测算一下自己的份量,结果如下:

  第一层 练到8成;

  第二层 练到5成;

  第三层 准备走禅僧线路,当前算是练到1成;
  
  唉,后面的武功提升越来越难,真不知道要到何年何月才能达到10成啊。你的武功练到哪一个层次了,不防亮出来大家切磋切磋。嘿嘿,要是有一天,咱们中国的Java程序员人手一把“玄铁剑”、人人会使“暗然销魂掌”,那还了得!汗...,写着写着居然做起白日梦了,不好意思,就此打住。
  
  手中鸡蛋先别扔,还要打个广告:本人刚开始涉足Java开源,目前在EasyJF开源团队中负责EasyJWeb(官网www.easyjf.com)项目,欢迎大家前来指导。

时间: 2024-11-01 12:49:40

论J2EE程序员的武功修为的相关文章

string-java中 String类问题<初级程序员的自我修远>

问题描述 java中 String类问题<初级程序员的自我修远> 刚学习java语言 我看String中源码写的 private final char[] c; 为什么在自己的类中这样写就会报未初始化的错误 解决方案 private final char[] c = new char[长度]; 解决方案二: final char[] c这样写的话,c就不能再指向别的引用,但是你又没给人家初始值,编辑器自然不干了. 解决方案三: 有final属性,要有构造器,并且初始化该属性 public cl

j2ee程序员应该掌握的linux知识

j2ee|程序|程序员 一般大型J2EE应用都在建构在linux环境下的.开发环境下我们可以通过samba映射成本地的网络驱动器,直接在windows环境下进行编程调试.但是最后的发布还是要到linux环境,同时我们对网上web服务器和数据库服务器的应用管理(比如自动脚本发布等),应用监控(web服务是否正常.mysql数据库的使用情况).系统监控(监控磁盘空间的使用情况等)都要求程序员熟悉必要的linux知识. 当然程序员不必对整个linux系统样样精通.下面根据本人开发的经验,列出程序员基本

J2EE程序员应该掌握的Linux系统的知识

大型J2EE应用都在建构在linux环境下的.开发环境下我们可以通过samba映射成本地的网络驱动器,直接在windows环境下进行编程调试.但是最后的发布还是要到linux环境,同时我们对网上web服务器和数据库服务器的应用管理(比如自动脚本发布等),应用监控(web服务是否正常.mysql数据库的使用情况).系统监控(监控磁盘空间的使用情况等)都要求程序员熟悉必要的linux知识. 当然程序员不必对整个linux系统样样精通.下面列出程序员基本需要掌握的linux知识. 一.linux的基本

关于j2ee程序员 要把plsql 掌握什么程度的问题

问题描述 各位大侠,小弟是一个未出茅庐的学生,自学了ssh和ejb等一些内容,现在有一些关于oracle中的一些问题,plsql对我来说要掌握的程度是多少啊..在线急等...望各位不吝赐教,跪求答案.谢谢 解决方案 解决方案二:会用plsql写函数和存储过程就可以了触发器和job也要会用解决方案三:我以前也就只写存储过程和函数.解决方案四:会或用活学

只有程序员才了解的9个真相!

真相1 "你所不知道的是,很多我们每天都使用的关键软件(如Mac OS X和Facebook),作为一个整体虽然可以正常工作,但是实际上它们的背后充斥了各种的弊端和缺陷.这就像是你兴致勃勃地拆开了一架全新的747飞机,但是却发现燃料线是由衣架固定的,起落架是用胶带粘贴的." --Ben Cherry 这其实是非常有意思的一件事:网页和程序外观精美.运行流畅,但是却很有可能只是完美在前端上(用户所能看到的那一部分).它们的背后其实千疮百孔.满是错误,不过因为某些神奇的原因,居然也可以正常

最让程序员懊恼的 10 件事

10. 注释说明"是什么",而不是"为什么" 入门级编程课程教导学生要学会频繁且尽早地注释.不可否认在学习编程的起步阶段这方法的确是相当有效的(即使看到最简单的代码行都像天书).然而许多程序员即使已经从一只小菜鸟长大成一位计算机牛人,也还是把这个习惯给延续了下来. r = n / 2; // Set r to n divided by 2 // Loop while r – (n/r) is greater than t while (abs ( r – (n/r)

J2EE和Andorid程序员开发前景之谈?

问题描述 说说自己的想法吧~! 解决方案 解决方案二:没啥想法,android前途有但是目前大量程序员涌入过几年之后也会出现android民工潮个人认为既然选择了一样那就坚持到底别转来转去解决方案三:搞我们这一行就怕没有动力与激情,搞着搞着似乎很多人觉得自己都是在等死.很多人都说现在搞这个有前景,搞那个死路一条.可我不这样认为,因为我认为:做任何事情只要你把它做到极致,就会有前景.呵呵,算不算缪论了呀.解决方案四:但是有人确认为android就是因为技术新如果你可以在现在掌握那就是对自己的前景的

《程序员之禅》一一第3章 为什么要进行禅修编程

第3章 为什么要进行禅修编程 程序员之禅禅是个严肃的东西,它可以改变你的人生观.不过只有你自己想要改变时,它才起作用.我将肯自律.务实.脚踏实地的程序员称作"禅宗程序员".我相信,即使世界颠倒了,他们仍然友好.可靠.这与他们的宗教信仰基本无关,而是事关其行事作风.本书的目的正是帮助你达成此目标. 改变思维方式不是一项简单的工作,需要终生学习.我本人也仍然在修习,距离说"目标达成"差很远.要是你始终在思考目标,你就迷失了方向,要将目标看作修行道路的一部分.你偶尔会迷路

从新手到初级程序员的修练

    首先.我想本文主要是适用于基于ASP+SQL SERVER开发环境的web开发程序员!<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 其二.解释两个关键词吧!一个是新手,一个是初级程序员.新手应该就是对于程序.数据库没有什么认识的人们,而初级程序员则应该是熟悉一种开发语言的基本开发环境.读懂这种开发语言.并可以独立手写部分简单代码(这个方面不知道是否适当). 其