JAVA自學之路 ——尚學堂科技馬士兵
有不少的同學發信給我,和我探討Java的自學過程應該是什么樣的,畢竟有很多人因為各種各樣的原因不能參加培訓。我試着給出自己的見解,拋磚引玉吧。
這個路線圖是給那些為了就業的人准備的,如果只是興趣,不一定照這個走。
這里只是講了路線圖,關於路線中的各個階段,學到什么程度,如何學習等,可以參考后面的JAVA自學之路 七:《路線圖明細》。
首先要學JavaSE,這是無庸置疑的。
與此同時,是的,與此同時,和JavaSE的學習同步,建議大家研究一下數據結構與算法。
在這兒之后,你可以選擇向J2ME、或者Java GUI、Socket編程等方向努力,但是通過第一篇的辦法,你可以很容易就將這方向過濾掉(永遠不要忘了我們是為了就業),好吧,暫時和它們訣別,還是向着J2EE的方向前進吧。
在JavaSE完成之后,可以試着完成一些小項目,同時關注一下設計模式的內容,不必強求自己能夠完全掌握各種細節,往前走吧。
掌握一種編程工具,比如說Eclipse。
數據庫,可以選擇使用Oracle或者MySQL開始。
JDBC,用Java連接數據庫。
可以選擇在這個地方切入hibernate,也可以選擇在Struts之后。
HTML CSS JavaScript,這些東西是做web項目必需的內容。
Servlet JSP,服務器端必需。
XML AJAX,新的流行趨勢不能不了解。
作一些小項目吧。比如BBS、留言系統、學籍管理、商城等等,隨便着一些業務邏輯比較簡單的來做一做。
Struts,MVC的典型應用
Hibernate,OR Mapping的典范之作。
spring IOC + AOP, 面向對象 + 面向切面,完善的旅程。
把以前自己的小項目加入Struts、Spring、Hibernate的元素吧。
去研究各種商業項目的業務邏輯吧,才能在你的簡歷中加入濃重的一筆。
EJB3.0,java在走了很多彎路后的回歸之作,值得研究。
SOA,業界鐵定的未來趨勢,要緊緊跟隨。
在后面,我會告訴你每一步的學習方法和學習重點。
JAVA自學之路 :要動手
無論如何,請堅持不懈的動手實驗!
學習Java要動手,僅僅是看和聽是不能夠學好編程的。
總有同學來信問我們這樣的問題,說:"老師我看了視頻了(下載:http://www.bjsxt.com/download.html),可是怎么一動手就沒有任何思路呢?"
對此,我一般都會說不要着急,如果你只是看了視頻就想行雲流水的話,那老師這些年的鍛煉真是白費了,這么多年的苦練才能略有些行雲流水的感覺,你一朝一夕就想自己能夠達到,不是太奢侈了嗎:)
作為編程的過來人想一下,當年自己學編程的時候是什么時候有思路的呢?至少也是照貓畫虎畫了一段時間之后吧,我本人是在某一個領域畫虎畫了上萬行代碼的時候才慢慢有自己思路的。就像寫作文,要有自己思路總是一般來說要經過幾個階段,首先學習詞匯,然后學習造句,然后大量閱讀別人的文章,自己模仿着寫一些,逐漸的經驗積累,才能形成自己的思路。學編程,恐怕也得慢慢的來吧,只是看一看、聽一聽視頻,是不足以學好編程的。
所以,動手吧,跟着做,一行一行的跟着敲,一個項目敲完了,比如坦克,再試着加一些自己的功能,按照自己的思路敲一些代碼,收獲遠比干聽大的多。
如果遇到,暫時對於一些思路不能理解的同學,我一般都會勸告說,動手寫,先寫代碼,量變會引起質變的。而這種質變的確發生過不少次。
提醒一句,要理解代碼思路之后再跟着敲 ,背着敲,千萬不要左邊擺着別人的程序,右邊自己一個一個子母的寫,這就不再是程序員了,成了打字員了。紙上得來終覺淺,所以:別問那么多,別想那么多,動手寫吧。
JAVA自學之路 :路線圖明細
注:
1:下面大多數的知識點我們已經公布了視頻或者會近期公布(幾個月之內),請大家關注一下這個網址http://www.bjsxt.com/download.html,可以按照該頁面的提示,用電驢進行下載
2:這里是為方便大家自學給出的列表,請大家不要同尚學堂的課程畫等號,下面的內容要比實際授課簡單很多,另外很多知識是融匯在項目開發中的,適合面授,不適合自學。
一:J2SE
面向對象-封裝、繼承、多態
內存的分析
遞歸
集合類、泛型、自動打包與解包、Annotation
IO
多線程、線程同步
TCP/UDP
AWT、事件模型、匿名類
正則表達式
反射機制
2:數據庫(Oracle或者MySQL)
SQL語句
多表連接,內外連接, 子查詢等
管理表、視圖、索引、序列、約束等
樹狀結構存儲
存儲過程、觸發器
數據庫設計三范式、
3:JDBC
JDBC基礎
連接池
樹狀結構存儲與展現
DataSource & RowSet
JDBC連接Oracle及MySQL
4:HTML_CSS_JAVASCRIPT
html、css、javascript基礎語法
JavaScript Form判斷
Dom編程基礎(事件處理等)
JS常用效果如TreeView、下拉聯動等
JS學習方法
JS調試方法
DreamWeaver初步(建立HTML、Table、Form、CSS)等
5:Servlet & JSP
tomcat基礎
servlet基礎
web.xml配置基礎
web application的結構
servlet生命周期
request response等常用方法
ServletContext類
HTTP協議基礎(GET POST)
Cookie
Session
Application
JSP的幾種語法(包括JSTL等)注意在項目中練習,不要拘泥於語法細節而裹步不前。
6:Struts
多層架構理論
Model 1 and Model 2
Struts基本概念
MVC
Action與業務邏輯類的關系
在Struts與JSP之間傳遞數據
Struts處理流程(控制流)
Struts TagLib(了解常用的)
JSTL
ActionForm
字段收集
上傳文件
類型轉換
DTO
動態Action Form
驗證框架
ActionForward 轉發與重定向
動態生成ActionForward
全局與局部的ActionForward
Action Forward Scope
UnknownActionMapping
Action的線程安全
I18N
如何切換語言環境
Struts異常處理機制 程序處理 自動處理 自定義異常處理器
Struts的多模塊配置
7:XML
(XML/XSL、XSLT/DTD、SCHEMA等基礎的概念、關於Java的編程可以暫時扔在一邊)
8:Hibernate
OR Mapping原理
Hibernate基礎開發步驟
Hibernate基本接口(重點Session)
普通屬性映射
關聯關系映射
Native SQL
inverse lazy cascade
繼承關系映射
HQL
性能優化 一級緩存 二級緩存 查詢緩存
事務與並發 悲觀鎖、樂觀鎖
OpenSessionInView
CurrentSession
(至於JTA、聯合主鍵、自然主鍵、動態主鍵、Any類型 Creteria Queries Intercepter and Event 自定義類型等,可以暫時扔在一邊)
9:Spring
IOC/DI
Spring配置
Spring架構
AOP及Spring AOP
聲明式事務(AOP)
Spring + Hibernate Spring支持Web
Scope
(其他的Spring模塊對於自學來說可以暫時扔在一邊)
10:EJB3.0
J2EE架構基礎(JTA JMS等)
EJB基礎(地位及基本理論、分類等)
Annotation
Ant編譯與部署EJB
Session Bean
EJB的依賴注入
Persistence API
(可以用JBoss學習EJB3.0)
11:至於SOA,對於自學的同學來說,暫時不用特別關注。
梳理一下,你就會發現東西不是想象中的那么多呀!
建議大家優先學習我們公布的視頻,然后再去找參考書,因為這個時候就能分辨出來哪些書適合你了。
那么,如何才能找到好書呢?一個簡單的辦法,在賣書的網站上,比如http://www.china-pub.com,搜索你想了解的知識點比如"javascript",按銷售排行,排在前幾位的,應該就是不錯的,記下書名,到書店閱讀幾章,合適你的就是好書了。沒錢買?簡單!還有什么google + 電驢找不到的資料嗎:)