*首先,我個人比較推崇的學習方法是:先學java前段,也就是HTML,css,js,因爲學習java以後肯定是往java ee方向發展的,學習完前端,在學習後端很多東西比計較容易理解!
其中J2SE是關鍵,如果學好了java se 部分,基礎紮實了,後面進階學習也比較輕鬆!*
**補充說明一下:我覺得學習java比較合適的方法是先把所有的知識點過一遍,然後把所有的知識點串起來,邊做開發邊補充,就像寫文章一樣,先寫好框架,然後再去潤色填充。因爲前期在學習的時候你不知道用在哪裏,不知道用途,沒有學習的目的,所以很多概念就很難理解,時間久了也容易遺忘。但是如果你直接從實踐開始學習,很多知識點都充串聯起來了,而且會印象深刻,當然前提條件是你已經入門,已經能寫一些簡單的程序,我個人現在也是按照這個方式在學習了,感覺很有效。**
>說明:**本文介紹的內容過於詳盡,這裏我補充一些基本的學習路線,相對比較簡略,但是比較可行:
1、基礎語法。也就是我們常說,各種編程語言都有的部分,數據類型,數組,for循環,do-while,switch……等等,是學習任何編程語言的基礎,很關鍵。
2、面對對象:①類和對象;②Java的三大特性(封裝、繼承、多態);
3、工具類:①異常和異常處理;②集合框架(主要是List和Map);
4、常用的流(stream):①輸入流;②輸出流;③緩衝流;
5、網絡與線程:①Socket ; ②多線程(Thread,Runnable);
6、數據操作:①Mysql、Oracle; ②JDBC;
7、web基礎:①Html/css;②Javascript;③JQuery;
8、框架。
這裏放上我自己整理製作的百度腦圖知識架構:**[百度腦圖](http://naotu.baidu.com/file/3dcda41ecf66328f3c0b270ab40273bb?token=e18f26bcef367101)
*只要學會上面的前7條,基本上從前臺到後臺開發常見的應用還是沒太大問題的,當然學習了框架以後,那就最好了,但關鍵還是要學好基礎,說實話,像下面這個表格中所列的知識點,真正能全面掌握還是有難度的,所以凡事還是要踏踏實實的靜下心學習,不要只看學習的進度,要看學習的效果。*
![Alt](https://avatar.csdn.net/7/7/B/1_ralf_hx163com.jpg#pic_center)
第一階段 |
技術名稱 |
技術內容 |
J2SE |
java開發前奏 |
計算機基本原理,Java語言發展簡史以及開發環境的搭建,體驗Java程序的開發,環境變量的設置,程序的執行過程,相關反編譯工具介紹,java開發工具Eclipse的安裝和使用,javadoc的說明。 |
Java基礎語法 |
Java語法格式,常量和變量,變量的作用域,方法和方法的重載,運算符,程序流程控制,數組和操作數組的類,對數組循環遍歷以及針對數組的常用查找、排序算法原理,最後使用Java程序進行功能實現。 |
|
面向對象編程 |
理解對象的本質,以及面向對象,類與對象之間的關係,如何用面向對象的思想分析和解決顯示生活中的問題,並java程序的手段編寫出來。 對象的多態性:子類和父類之間的轉換、父類指向子類的引用、抽象類和接口在多態中的應用、多態優點。常用設計模式如單利、模版等模式。 什麼是異常 異常的捕捉和拋出 異常捕捉的原則 finally的使用,package的應用 import關鍵字。 |
|
多線程應用 |
多線程的概念,如何在程序中創建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖問題的剖析。 |
|
javaAPI詳解 |
JavaAPI介紹、String和StringBuffer、各種基本數據類型包裝類,System和Runtime類,Date和DateFomat類等。 |
|
IO技術 |
什麼是IO,File及相關類,字節流InputStream和OutputStream,字符流Reader和Writer,以及相應緩衝流和管道流,字節和字符的轉化流,包裝流,以及常用包裝類使用,分析java的IO性能。 |
|
網絡編程 |
Java網絡編程,網絡通信底層協議TCP/UDP/IP,Socket編程。網絡通信常用應用層協議簡介:HTTP、FTP等,以及WEB服務器的工作原理。 |
|
java高級特性 |
遞歸程序,Java的高級特性:反射、代理和泛型、枚舉、Java正則表達式API詳解及其應用。 |
第二階段 |
技術名稱 |
技術內容 |
數據庫技術 |
Oracle 基礎管理 |
Oracle背景簡介,數據庫的安裝,數據庫的用戶名和密碼,客戶端登錄數據庫服務SQLPLUS,數據庫基本概。 |
SQL語句 |
數據庫的創建,表的創建,修改,刪除,查詢,索引的創建,主從表的建立,數據控制授權和回收,事務控制,查詢語句以及運算符的詳解,sql中的函數使用。 |
|
多表連接和子查詢 |
等值和非等值連接,外連接,自連接;交叉連接,自然連接,using子句連接,完全外連接和左右外連接,子查詢使用以及注意事項。 |
|
觸發器、存儲過程 |
觸發器和存儲過程使用場合, 通過實例進行詳解。 |
|
數據庫設計優化 |
WHERE子句中的連接順序,選擇最有效率的表名順序,SELECT子句中避免使用 ‘ * ‘ 計算記錄條數等等。 |
|
數據備份與移植 |
移植技巧,備份方案;導入導出等。 |
第三階段 |
技術名稱 |
技術內容 |
jdbc技術 |
JDBC基礎 |
JDBC Connection、Statement、PreparedStatement、CallableStatement、ResultSet等不同類的使用。 |
連接池技術 |
瞭解連接池的概念,掌握連接池的建立、治理、關閉和配置。 |
|
ORM與DAO封裝 |
對象關係映射思想,jdbc的dao封裝,實現自己的jdbc。 |
可以把第四階段的知識提前一點,特別是對哪些剛開始接觸面向對象編程的同學,我剛開始就學java se,感覺入門很不容易。先學web部分,有利於理解面向對象的概念,另外,web部分相對比較簡單,也比較直觀,寫完直接就可以看見效果,有助於提升大家的學習積極性。
第四階段 |
技術名稱 |
技術內容 |
web基礎技術 |
Xml技術 |
使用jdom和dom4j來對xml文檔的解析和生成操作,xml 的作用和使用場合。 |
html/css |
Java掌握基本的html標籤的格式和使用,css層疊樣式表對div的定義,實現對網站佈局的基本實現。 |
|
Javascript |
瞭解javascript的基本語法以及相關函數的使用,並結合html頁面實現流程控制和頁面效果展示。 |
|
jsp/servlet |
Servlet和SP 技術、上傳下載、 Tomcat 服務器技術、servlet 過濾器和監聽器。 |
|
jstl和EL |
JSTL核心標籤庫、函數標籤庫、格式化標籤庫、自定義標籤技術、EL表達式在jsp頁面的使用。 |
|
ajax及框架技術 |
瞭解和屬性原生態的ajax的使用,ajax使用的場合,使用ajax的好處,ajax框架jquery渲染頁面效果和相關的強大的第三方類庫,dwr如何和後臺服務進行數據傳輸,以及頁面邏輯控制等。 |
|
JSON高級應用 |
Java使用json支持的方式對字符串進行封裝和解析,實現頁面和java後臺服務的數據通信。 |
|
Fckeditor編輯器 |
FCKEditor在線編輯器技術、配置、處理圖片和文件上傳。 |
|
javaMail技術 |
瞭解域名解析與MX記錄、電子郵件工作原理、郵件傳輸協議:SMTP、POP3、IMAP、郵件組織結構:RFC822郵件格式、MIME協議、郵件編碼、複合郵件結構分析、JavaMail API及其體系結構、編程創建郵件內容:簡單郵件內容、包含內嵌圖片的複雜郵件、包含內嵌圖片和附件的複雜郵件。 |
|
JfreeChart報表 |
統計報表;圖表處理。 |
|
BBS項目實戰 |
採用Jquery+dwr+jsp+servlet+Fckeditor+JfreeChart+tomcat+jdbc(oracle) 完成BBS項目的實戰。 |
|
實戰價值 |
學完此課程你至少已經是擁有近1年開發經驗的程序員了,但是你不應該滿足現狀,下面的課程會更加吸引你! |
框架部分,要要儘可能多的瞭解底層實現機制和原理,畢竟框架受大環境影響比較大,現階段比較流行的是ssm框架(spring,Spring MVC,mybatis),以下是比較常用的框架:(本階段在能夠使用框架進行開發以後,要多做項目,多敲代碼,當你已經特別熟悉各種應用場景,同時對於各種操作已經能夠信手拈來,那麼久可以考慮看源代碼,研究底層實現機制,加深對框架的認知)
第五經典階段 |
技術名稱 |
技術內容 |
web主流框架技術 |
struts x.x |
struts框架的工作原理和架構分析,struts-default.xml與default.properties文件的作用,struts。Xml中引入多個配置文件。OGNL表達式、Strutsx UI和非UI標籤、輸入校驗、使用通配符定義action、動態方法調用、多文件上傳、自定義類型轉換器、爲Action的屬性注入值、自定義攔截器、異常處理、使用strutsx實現的CRUD操作的案例。 |
hibernatex.x |
Hibernate應用開發基礎; ORM基礎理論; 關係映射技術; 性能調優技術; 性能優化 一級緩存 二級緩存 查詢緩存 事務與併發 悲觀鎖、樂觀鎖。 |
|
springxx.x |
Spring IoC技術; Spring AOP技術; Spring 聲明事務管理; Spring 常用功能說明,springx.0的新特性, Spring整合struts和hibernate的運用。 |
|
Spring MVC |
Spring自己的mvc框架,可以替代struts等MVC框架 |
|
mybatis |
目前比較主流的持久層框架,需要手動配置sql語句,能夠實現動態拼接sql |
|
Log4j和Junit |
Logging API; JUnit單元測試技術; 壓力測試技術:badboy 進行測試計劃跟蹤獲取以及JMeter壓力測試。 |
|
在線支付技術 |
完成支付寶的支付接口的在線支付功能。 |
|
電子商務網實戰 |
採用spring+hibernate+struts+jquery+dwr+FckEditor+tomcat 完成電子商務網站實戰開發。 |
|
實戰價值 |
項目實戰價值完全高標準的高要求的迎合企業的需求,學完此課程,全部消化了,你已經就是一個地地道道的高級程序員,已經爲你的職業生涯鋪平了道路,你還等什麼,向着高薪衝刺吧! |
第六進階階段 |
技術名稱 |
技術內容 |
web高級進階 |
openJpa技術 |
JPA介紹及開發環境搭建、單表實體映射、一對多/多對一、一對一、多對多關聯、實體繼承、複合主鍵、JPQL語句、EntityManager API、事務管理,瞭解一下jpa2.0的新特性以及應用。 |
lucene搜索引擎 |
瞭解全文搜索原理、全文搜索引擎、什麼是OSEM、OSEM框架Compass、基於使用Lucene使用Compass實現全文增量型索引創建和搜索、探索Lucene 3.0以及API。 |
|
電子商務網重構 |
此項目採用了Lucene+compass+openJpa+上一版電子商務網站的技術進行重構。 |
|
實戰價值 |
此項目的實戰價值是前所未有的超值,已經超越了企業的實際要求,你已經是企業的搶手人才,一旦進入企業,便讓你立於不敗之地,輕鬆成爲公司的技術骨幹和精英,技術已經改變了你一生! |
|
Excel/PDF文檔處理技術 |
java對excel和pdf文檔分別利用poi和itext來進行解析和生成。此技術在企業級系統的報表中經常使用。 |
|
OA工作流技術JBPM |
工作流是什麼、JBPM介紹、JBPM的主要用法、各類節點的用法、任務各種分派方式、JBPM的整體架構原理、工作流定義模型分析、運行期工作流實例模型分析、數據庫表模型分析、流程定義管理、流程實例監控、對JBPM的相關接口進行封裝,構建自己的工作流應用平臺等。 |
|
WebService技術 |
WebService技術原理、WebService技術的應用、Soap服務的創建與管理、WSDL描述文檔規範、UDDI 註冊中心運行原理;使用Axis和Xfire創建WEB服務、Webservice客戶端的編寫、使用TCPMonitor監聽SOAP協議、異構平臺的整合。 |
|
Linux技術 |
Linux 系統安裝,卸載、linux 使用的核心思想、linux下的用戶管理,文件管理,系統管理、程序的安裝,使用,卸載。linux下作爲server的基本應用:web服務器,j2ee服務器,ftp服務器的安裝和項目的部署。 |
|
CRM項目實戰 |
此項目能瞭解和熟悉客戶關係管理的基本流程以及功能的實現,採用上面幾個階段學到的主流框架實現,同時加入了JBPM的技術。 |
|
實戰價值 |
學完這個系統會讓你輕鬆進入企業級的大型項目的開發,倍感得心應手。完備的知識體系和最前沿的開發技術,帶給你的將是在精神上不同目光的瞻望和物質上高薪資回報的喜悅,帶你進入人生的新的轉折點和起點! |
第七架構階段 |
技術名稱 |
技術內容 |
大型高併發網站優化方案 |
如何構建一個高性能網站詳解 |
什麼樣的網站需要高性能,高性能的指標體系,構建高性能網站需要做哪些工作,注意哪些細節。 |
SSI技術 |
什麼是SSI,使用他有什麼好處,什麼樣的系統才使用SSI,SSI技術詳解和使用,應用到項目中。 |
|
生成靜態頁技術 |
什麼是靜態頁,爲什麼需要靜態頁以及帶來的好處,生成靜態頁的模版技術Velocity和Freemark,生成靜態頁的訪問規則等。 |
|
緩存技術 |
爲什麼使用緩存技術,oscache緩存技術的介紹和使用,memcached緩存技術的介紹和使用、兩者緩存技術的比較和如何去使用。 |
|
經典web服務器 |
什麼是web服務器,什麼是javaweb服務器,他們存在什麼關係,當前技術主流中常用的web服務器有哪些, web服務器apache和nginx的應用。 |
|
nginx架構實戰 |
什麼是反向代理,負載均衡以及集羣,在nginx中如何實現這些高性能的系統架構。 |
|
實戰價值 |
此課程已經將你領入了技術經理和主管以及架構師的門檻了,稍微用心學習加上實戰你就是技術牛人了,薪水非常高,同時很快你就是公司的技術中層管理者,你的人生就此又一次的發生巨大的轉折! |
如果你把上面這些東西全部掌握了,那不用說你已經算是java界比較NB的人了,因爲一般能掌握這些知識的人,基本上有5-10年的工作經驗,不過也不好說,說不定你就是那個天才呢,加油吧少年!
當你的才華還撐不起你的野心的時候,你就應該靜下心來學習;當你的能力還駕馭不了你的目標時,就應該沉下心來,歷練;夢想,不是浮躁,而是沉澱和積累,只有拼出來的美麗,沒有等出來的輝煌,機會永遠是留給最渴望的那個人,學會與內心深處的你對話,問問自己,想要怎樣的人生,靜心學習,耐心沉澱,送給自己,共勉。