Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言。Java 技術(shù)具有卓越的通用性里烦、高效性凿蒜、平臺移植性和安全性,廣泛應(yīng)用于PC胁黑、數(shù)據(jù)中心废封、游戲控制臺、科學(xué)超級計算機(jī)丧蘸、移動電話和互聯(lián)網(wǎng)漂洋,同時擁有全球最大的開發(fā)者專業(yè)社群。
給你學(xué)習(xí)路線:html-css-js-jq-javase-數(shù)據(jù)庫-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
人人都想當(dāng)大神力喷,哪有那么簡單?不經(jīng)歷一番艱苦的磨練以及個人的不懈追求氮发,怎么可能才技術(shù)上取得長遠(yuǎn)的進(jìn)步。當(dāng)然冗懦,努力是一方面爽冕,方向是另一方面。想要成為Java程序員大神披蕉,你需要在這25點上做出努力颈畸。
1. 你需要精通面向?qū)ο蠓治雠c設(shè)計(OOA/OOD)、涉及模式(GOF没讲,J2EEDP)以及綜合模式眯娱。你應(yīng)該了解UML,尤其是class爬凑、object徙缴、interaction以及statediagrams.
2. 你需要學(xué)習(xí)Java語言的基礎(chǔ)知識以及它的核心類庫(collections、serialization嘁信、streams于样、networking、multithreading潘靖、reflection穿剖、event、handling卦溢、NIO糊余、localization以及其他)秀又。
3. 你應(yīng)該了解JVM、classloaders贬芥、classreflect以及垃圾回收的基本工作機(jī)制等吐辙。你應(yīng)該有能力反編譯一個類文件并且明白一些基本的匯編指令。
4. 如果你將要寫客戶端程序蘸劈,你需要學(xué)習(xí)Web的小應(yīng)用程序(applet)袱讹,必需掌握GUI設(shè)計的思想和方法,以及桌面程序的SWING昵时、AWT、SWT.你還應(yīng)該對UI部件的JavaBEAN組件模式有所了解椒丧。JavaBEANS也被應(yīng)用在JSP中以把業(yè)務(wù)邏輯從表現(xiàn)層中分離出來壹甥。
5. 你需要學(xué)習(xí)Java數(shù)據(jù)庫技術(shù),并且會使用至少一種persistence/ORM構(gòu)架壶熏,例如Hibernate句柠、JDO、CocoBase棒假、TopLink溯职、InsideLiberator(國產(chǎn)JDO紅工廠軟件)或者iBatis.
小編推薦一個學(xué)Java的學(xué)習(xí)裙【 七六零,二五零帽哑,五四一 】谜酒,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)妻枕!裙內(nèi)有開發(fā)工具僻族,很多干貨和技術(shù)資料分享!
6. 你還應(yīng)該了解對象關(guān)系的阻抗失配的含義以及它是如何影響業(yè)務(wù)對象與關(guān)系型數(shù)據(jù)庫的交互屡谐,和它的運(yùn)行結(jié)果述么。還需要掌握不同的數(shù)據(jù)庫產(chǎn)品運(yùn)用,比如Oracle愕掏、MySQL度秘、SQL server.
7. 你需要學(xué)習(xí)Servlets、JSP饵撑,以及JSTL(StandardTagLibraries)和可以選擇的第三方TagLibraries.
8. 你需要熟悉主流的網(wǎng)頁框架剑梳,例如JSF、Struts滑潘、Tapestry阻荒、Cocoon、WebWork众羡,以及他們下面的涉及模式侨赡,如MVC/MODEL2.
9. 你需要學(xué)習(xí)如何使用及管理Web服務(wù)器,例如tomcat、resin羊壹、Jrun蓖宦,并且知道如何在其基礎(chǔ)上擴(kuò)展和維護(hù)Web程序。
10. 你需要學(xué)習(xí)分布式對象以及遠(yuǎn)程API油猫,例如RMI和RMI/IIOP.
11. 你需要掌握各種流行中間件技術(shù)標(biāo)準(zhǔn)和與Java結(jié)合實現(xiàn)稠茂,比如Tuxedo、CROBA情妖,當(dāng)然也包括JavaEE本身睬关。
12. 你需要學(xué)習(xí)最少一種的XMLAPI,例如JAXP(JavaAPIforXMLProcessing)毡证、JDOM(JavaforXMLDocumentObjectModel)电爹、DOM4J或JAXR(JavaAPIforXMLRegistries)。
13. 你應(yīng)該學(xué)習(xí)如何利用Java的API和工具來構(gòu)建WebService.例如JAX-RPC(JavaAPIforXML/RPC)料睛、SAAJ(SOAPwithAttachmentsAPIforJava)丐箩、JAXB(JavaArchitectureforXMLBinding)、JAXM(JavaAPIforXMLMessaging)恤煞、JAXR(JavaAPIforXMLRegistries)或者JWSDP(JavaWebServicesDeveloperPack)屎勘。
14. 你需要學(xué)習(xí)一門輕量級應(yīng)用程序框架,例如Spring居扒、PicoContainer概漱、Avalon,以及它們的IoC/DI風(fēng)格(setter喜喂,constructor犀概,interfaceinjection)。
15. 你需要熟悉不同的J2EE技術(shù)夜惭,例如JNDI(JavaNamingandDirectoryInterface)姻灶、JMS(JavaMessageService)、JTA/JTS(JavaTransactionAPI/JavaTransactionService)诈茧、JMX(JavaManagementeXtensions)产喉,以及JavaMail.
16. 你需要學(xué)習(xí)企業(yè)級JavaBeans(EJB)以及它們的不同組件模式:Stateless/StatefulSessionBeans、EntityBeans(包含Bean-ManagedPersistence[BMP]或者Container-ManagedPersistence[CMP]和它的EJB-QL)敢会,或者M(jìn)essage-DrivenBeans(MDB)曾沈。
17. 你需要學(xué)習(xí)如何管理與配置一個J2EE應(yīng)用程序服務(wù)器,如WebLogic鸥昏、JBoss等塞俱,并且利用它的附加服務(wù),例如簇類吏垮,連接池以及分布式處理支援障涯。你還需要了解如何在它上面封裝和配置應(yīng)用程序并且能夠監(jiān)控罐旗、調(diào)整它的性能。
18. 你需要熟悉面向方面的程序設(shè)計以及面向?qū)傩缘某绦蛟O(shè)計(這兩個都被很容易混淆的縮寫為AOP)唯蝶,以及他們的主流Java規(guī)格和執(zhí)行九秀。例如AspectJ和AspectWerkz.
19. 你需要熟悉對不同有用的API和frame work等來為你服務(wù)。例如Log4J(logging/tracing)粘我、Quartz(scheduling)鼓蜒、JGroups(networkgroupcommunication)、JCache(distributedcaching)征字、Lucene(full-textsearch)都弹、JakartaCommons等等。
20. 你應(yīng)該熟練掌握一種JavaIDE例如sunOne匙姜、netBeans畅厢、IntelliJIDEA或者Eclipse.(有些人更喜歡VI或EMACS來編寫文件。隨便你用什么了)
21. Java(精確的說是有些配置)是冗長的搁料,它需要很多的人工代碼(例如EJB),所以你需要熟悉代碼生成工具系羞,例如XDoclet.
22. 你需要熟悉一種單元測試體系(JNunit)郭计,并且學(xué)習(xí)不同的生成、部署工具(Ant椒振,Maven)昭伸。
小編推薦一個學(xué)Java的學(xué)習(xí)裙【 七六零,二五零澎迎,五四一 】庐杨,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)夹供!裙內(nèi)有開發(fā)工具灵份,很多干貨和技術(shù)資料分享!
23. 你需要熟悉一些在Java開發(fā)中經(jīng)常用到的軟件工程過程哮洽。例如RUP(RationalUnifiedProcess)andAgilemethodologies.
24. 你還需要緊跟Java發(fā)展的步伐填渠,比如現(xiàn)在可以深入的學(xué)習(xí)Webwork2.0.
25. 你必需要對實際項目的開發(fā)流程有所了解,至少要有兩個有實際應(yīng)用價值的項目鸟辅,而不是練習(xí)項目!因為現(xiàn)在企業(yè)看重的是你有沒有實際的開發(fā)經(jīng)驗氛什,真正開發(fā)經(jīng)驗的體現(xiàn)就是你做的項目,也就是有實際應(yīng)用的項目!