我做開發(fā)也是有很長一段時間了,現(xiàn)在回想自己學(xué)習(xí)java的經(jīng)歷,當(dāng)時真希望有一部大體的學(xué)習(xí)框架,這樣自己就不會走許多彎路了,這是我在這一年工作和多年學(xué)習(xí)中的經(jīng)驗(yàn),希望對迷茫的java愛好者有所幫助:
第一步
首先要做好學(xué)習(xí)前的準(zhǔn)備工作:java語言一般用于大型的服務(wù)器程序開發(fā),所以有必要了解如下內(nèi)容:Unix開發(fā)環(huán)境Unix系統(tǒng)原理、Unix開發(fā)環(huán)境、Unix常用命令。熟練掌握Unix常用命令;熟練構(gòu)建下的Java開發(fā)環(huán)境。
第二步
然后進(jìn)入Java語言基礎(chǔ)的學(xué)習(xí)階段,學(xué)習(xí)任何一門語言都要打好基礎(chǔ),曾經(jīng)學(xué)過高級程序語言(C,C++等)來說,java語言基礎(chǔ)有自己的特點(diǎn),但是基本規(guī)律都是相通的,如:算法基礎(chǔ)、常用數(shù)據(jù)結(jié)構(gòu)、企業(yè)編程規(guī)范。掌握常見的數(shù)據(jù)結(jié)構(gòu)和實(shí)用算法;培養(yǎng)良好的企業(yè)級編程習(xí)慣。
第三步
掌握java語言基礎(chǔ)后接下來就是面向?qū)ο笳Z言的共性:Java面向?qū)ο竺嫦驅(qū)ο筇匦裕悍庋b、繼承、多態(tài)等。掌握面向?qū)ο蟮幕驹瓌t以及在編程實(shí)踐中的意義;掌握J(rèn)ava面向?qū)ο缶幊袒緦?shí)現(xiàn)原理。
第四步
JDK核心API語言核心包、異常處理、常用工具包、集合框架。熟練掌握J(rèn)DK核心API編程技術(shù);理解API設(shè)計原則;具備熟練的閱讀API文檔的能力;JavaSE核心異常處理、多線程基礎(chǔ)、IO系統(tǒng)、網(wǎng)絡(luò)編程、Swing組件、JVM性能調(diào)優(yōu)(JVM內(nèi)存結(jié)構(gòu)剖析、GC分析及調(diào)優(yōu)、JVM內(nèi)存參數(shù)優(yōu)化)、Java泛型、JDK新特性。熟練掌握J(rèn)avaSE核心內(nèi)容,特別是IO和多線程;初步具備面向?qū)ο笤O(shè)計和編程的能力;掌握基本的JVM優(yōu)化策略。XML XML語法、XML解析(SAX、DOM)、Dom4j組件、Digester組件。熟練掌握XML語法規(guī)則;理解DOM模型;熟悉Java對XML的各種解析方式。
第五步
SQL語言SQL語句基礎(chǔ)和提高、SQL語句調(diào)優(yōu)。熟練的掌握SQL語句;掌握一定的數(shù)據(jù)庫查詢技巧及SQL語句優(yōu)化技巧。Oracle數(shù)據(jù)庫開發(fā)Oracle體系結(jié)構(gòu)及系統(tǒng)管理、Oracle數(shù)據(jù)庫高級編程、數(shù)據(jù)庫設(shè)計基礎(chǔ)。掌握Oracle體系結(jié)構(gòu)及核心編程技術(shù)
第六步
連接數(shù)據(jù)庫:JDBC JDBC核心API(Connection、Statement、ResultSet)、JDBC優(yōu)化技術(shù)(緩存技術(shù)、批處理技術(shù)、連接池技術(shù))。理解JDBC作為規(guī)范的設(shè)計原則;熟練掌握J(rèn)DBCAPI;具備使用JDBC對數(shù)據(jù)庫進(jìn)行高效訪問的能力。
第七步
軟件工程基礎(chǔ)軟件過程和軟件活動;需求設(shè)計、概要設(shè)計、詳細(xì)設(shè)計基本原則和文檔規(guī)范;配置管理的基本概念和必要性;CVS基本操作;Ant簡介理解軟件過程的普遍概念和基本的軟件活動;理解迭代的意義;掌握Ant、CVS等常用配置管理及部署工具。
第八步
OOAD及設(shè)計模式面向?qū)ο蠡驹O(shè)計原則、工廠模式、策略模式、適配器模式、代理模式等、門面模式。理解面向?qū)ο笤O(shè)計的一般原則;理解重用的意義;掌握常見的設(shè)計模式。
第九步
HTML/CSS HTML基本文檔結(jié)構(gòu)、掌握CSS基礎(chǔ)語法、關(guān)于HTML文檔塊、鏈接、列表、表格、表單等。掌握HTML基本原理;掌握CSS各種選擇器及常見樣式設(shè)置;熟練使用HTML常用元素。JavaScript核心JavaScript語言基礎(chǔ)(數(shù)據(jù)類型、函數(shù)、對象、閉包)、Java DOM編程、事件模型、JavaScript面向?qū)ο缶幊。深入理解JavaScript語言原理;熟練的使用JavaScript對HTMLDOM進(jìn)行編程;熟練掌握J(rèn)avaScript對象對象封裝技巧,為后續(xù)的JavaScript學(xué)習(xí)打下堅實(shí)的基礎(chǔ)。
Servlet/JSPServlet生命周期及Servlet服務(wù)器、Tomcat部署配置、JSP語法、自定義標(biāo)記、JSTL和EL表達(dá)式、JSP新特性、Java Web設(shè)計模式。透徹理解Servlet核心原理;熟練掌握Servlet API;透徹理解JSP引擎工作原理;透徹理解標(biāo)記庫原理;熟悉常見的Java Web設(shè)計模式;為后續(xù)的Java Web開發(fā)打下堅實(shí)的理論基礎(chǔ)。
第十步
Ajax Ajax基礎(chǔ)、XHR對象、Ajax設(shè)計模式、JSON技術(shù)掌握Ajax的基本通信原理;掌握基于XML和JSON的Ajax數(shù)據(jù)規(guī)則。
第十一步
JavaScript框架JQuery、JQuery插件、DWR。掌握J(rèn)Query核心API;了解JQuery基本設(shè)計原則;了解多種JQuery插件;掌握DWR的基本原理及應(yīng)用技巧。
第十二步
ssh三大框架的學(xué)習(xí),這是企業(yè)實(shí)際應(yīng)用的框架模型:
①.Struts 2.1.6 Struts2核心控制流程、Ognl、Action、Interceptor、,Result、FreeMarker、Struts2標(biāo)記庫、Struts2擴(kuò)展、Struts2應(yīng)用技巧(輸入驗(yàn)證、消息國際化、文件上傳和下載、防止重復(fù)提交等)。熟練掌握Struts2核心要件,特別是Interceptor和Result;掌握基于模板技術(shù)的Struts2 UI組件;掌握基于Ognl的數(shù)據(jù)共享方式、掌握Struts2各種定制及擴(kuò)展方式;熟練掌握基于Struts2的Web開發(fā)技巧。
②. Hibernate 3.2.1 ORM概念、Hibernate核心API、Hibernate實(shí)體映射技術(shù)、Hibernate關(guān)系映射技巧、HQL查詢、OSCache及Hibernate緩存技術(shù)。重點(diǎn)掌握Hibernate多種關(guān)聯(lián)映射技巧及其實(shí)用背景,做到在合適的時候使用合適的關(guān)聯(lián)方式;掌握多種Hibernate查詢技巧及優(yōu)化技術(shù)。
③.Spring 2.5 Spring Ioc基礎(chǔ)、Ioc注入技巧、對象高級裝配(自動裝配、模板裝配、組件掃描特性、FactoryBean、對象生命周期)、SpringAOP原理、AspectJ、Spring JDBC支持、Spring事務(wù)及安全管理;Spring整合Hibernate、Spring整合Struts、Spring MVC簡介。深入理解Ioc和AOP的基本原理和實(shí)現(xiàn)方式;熟練掌握SpringIoc及AOP實(shí)現(xiàn)方式;熟練掌握Spring事務(wù)管理;熟練掌握Spring與其他組件的整合技術(shù)。