時常看到一些應屆畢業生在履歷上赫然寫着精通了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架構的用法。