作者做了多年的Java培訓教師,也接觸過不少初學者,根據多年的教學互動經驗,總結了一些能少走彎路的學習方法,供大家參考。
第一,是要多學多練,這似乎是廢話,但真正能非常上心學習的人還真是少數,大多數人下班之后,明明有足夠多的時間,但寧可逛街、打游戲而不學習。
在我們所帶的班級里,剛開始大家的能力其實差不了多少,但到結業后,常復習、常練習的同學要比不學不練好很多,往往是好的學生能直接跳槽,工資漲至少20%,不學不練的同學還是老樣子。
第二,別單看書或網站上的技術資料,一定得邊看邊練習。如果光看,知識點一定會在一個月后被忘干凈。
培訓班里,有些同學確實學習很認真,上課記筆記,相信下課也一定會多復習,但就是不肯多上機練習。到最后,這些同學確實很可惜,雖然用功,但方法不對(不練習),學習效果其實并不好。
第三,關于學習的次序,建議大家遵循技術到框架到細節的路線,比如先大致了解Spring、Hibernate等技術,再了解Spring MVC等Web框架,最后再深入學習Spring和Hibernate里的各種細節的API。如果過早地接觸各種細節,就可能無法從總體上把握。如果了解框架后不去深入了解細節,則很可能基礎知識不扎實,對后繼學習非常不好。
第四,在沒有了解各種框架(比如Spring MVC框架)前,可以先借鑒別人的代碼,通過適當地修改先讓代碼跑通,隨后通過閱讀代碼來理解整體流程和關鍵代碼。
比如我們在給學生講述Spring控制反轉時,一般會給學生一個可以運行的程序,讓學生先運行通,然后會針對代碼講述裝載配置文件和控制反轉部分的關鍵代碼,最后會請學生通過改寫來實現類似的效果。根據實踐情況,學生能很快地掌握IoC的流程以及一些關鍵要點,從開始學習到最終掌握大概也就1個小時,當然這僅僅是入門級別的學習,深入學習其實也可以采用這套流程。
不過總有些學生在剛開始不熟悉控制反轉細節的技術,就想要自己編寫各部分的代碼(比如配置文件和Java代碼),美其名曰自己動手能對各部分印象更深。
??
這樣做的大多數后果是,由于不熟悉,自己編寫出來的代碼往往會錯誤百出,而且自己還未必知道怎么才能把代碼調通,導致最后對這個知識點的學習不了了之。這種情況一旦長久,一定會影響到學習的自信心。
所以千萬記得,先“山寨”別人代碼來學習,等你熟悉了,有足夠多的能力時再來自己動手。