如何才算掌握了Java EE
         ——李刚(新东方IT培训的软件教学总监)
时常看到一些应届毕业生在简历上赫然写着精通了Java、C(挺恐怖的,我做了这么多年程序员,也不敢写这样的字样啊),但让他们做一个实际的项目基本上上都是困难重重,难以下手。  
下面我根据个人经验写一点如何算掌握了Java EE的标准:  
基本能力:  
1.          必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。  
2.          写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,  
3.          必须可以根据错误提示准确定义错误位置,迅速、准确排除常见错误。  
4.          必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii等命令。  
5.          必须熟悉SQL语句基本语法,包括常规的性能调优。必须熟悉Oracle、DB2、SQL server、MySql、PostgreSQL等数据库中至少3种数据库的基本使用,常用前端工具,存储过程和触发器的编写。  
6.          基本的JavaScript功底,DOM操作,能实现大部分菜单、树、简单动画等常用JavaScript效果。  
7.          必须熟悉Java的常用类库,包括java.lang、java.util、java.io、java.nio、 java.math、java.net、java.text、java.awt和javax.swing包下大部分类,查阅API文档时能准确定位指定 类,指定方法。  
8.          必须熟悉Java EE常用类库,包括java.rmi、javax.naming、javax.print、 javax.ejb、javax.jms、javax.mail、javax.resource、javax.servlet、 javax.transaction、javax.xml包下的大部分类。  
工具方面:  
1.          能不借助任何IDE手动完成整个项目,至少掌握一种IDE工具的用法。  
2.          至少掌握Tomcat、Jetty、Resin其中一种Web容器的各种详细用法,至少会掌握WebLogic、WebSphere、JBoss中一种应用服务器的各种详细用法。  
3.          懂得Ant、Maven中一种自动化工具的使用。  
4.          至少熟悉CVS,VSS中一种团队管理工具的用法  
5.          必须熟悉使用JUnit编写测试用例完成代码的自动测试。  
6.          至少掌握一种UML建模工具的用法。  
提高方面  
1.          掌握数据池、线程池等基本的缓冲池技术。  
2.          掌握消息队列、消息主题等分布式架构的设计思路。  
3.          23种设计模式熟练使用10种以上——达到自然而然地使用这种设计模式,而不是满足于实现这个设计模式代码。  
4.          至少掌握Velocity、FreeMarker、SiteMesh、Ties、Struts、MyFaces、 Tapestry、Spring、Hibernate、iBATIS等四种以上开源框架的用法,不是满足于简单的HelloWorld,而是要掌握了这个 框架的80%以上的内容,并至少认真研究过一个开源框架的源代码——达到基本能实现这个框架的程度。  
5.          至少认真研究过一个开源Web容器(如Tomcat)的源代码,能实现一个具有基本功能的Web容器。  
6.          至少认真研究过AppFuse、JPetStore等开源项目其中之一的源代码,掌握一个完整系统的整合开发方式。  
7.          掌握贫血模式、DD模式、ROR模式等常用架构模式的设计,能合理选择恰当的架构模式。  
8.     至少参与过3个以上数据表在100个以上的项目,或者主持过一个数据表在100个以上的项目。对实际开发中各种常见问题,有成熟的应对方案。
9.     有相当的workflow开发经验,掌握至少一种开源Workflow框架的用法。