因為是工作中的培訓,必然會有實用性和時間緊這兩個制約因素,所以不能像大學壹樣涵蓋所有知識點。但只是基本的,實用的,難懂的。至於其他棱角方面的知識,我剛剛也有所涉及。壹是沒時間,二是不常用,即使說了,學生也沒什麽印象。壹句話:“好鋼用在刀刃上”。
下面,根據我的實踐,詳細說說學習過程:
1.基礎知識
我在學習java的時候,先通讀了Java編程的思想,然後是Java的核心技術。那時候這兩本書還沒有現在這麽厚。剛才在桌子上翻了翻《Java核心技術》第九版。上下卷1700多頁。可想而知,把它們通讀壹遍需要壹定的時間,別說所有的代碼,就是看小說也是如此。
但我還是第壹次教Java核心技術,主要是因為它體系完整,實例多,可操作性強。但對於初學者來說,我通常只講前六章,分別是以下幾章:
Java編程概述
Java編程環境
Java的基本編程結構
對象和類
繼承
接口和內部類
就Java核心技術第九版來說,也就是到第250頁結束,1個月拿下是沒問題的。
因為妳是自學的,所以我建議妳壹定要把代碼全部轉讓,課後盡可能多做作業。此外,有兩點特別重要:
#.學習筆記
因為妳是自學的,不像在企業學完就能實踐,自然印象特別深刻。自學尤為重要,因為沒有實踐的及時反饋。因為記筆記和寫作壹樣,都是整理思路的絕佳方式。同時,學習筆記也是妳未來發展和面試的絕佳素材。
學編程,人和人不壹樣,別人覺得難懂的不壹定適合妳;而妳覺得難懂的,別人可能覺得特別簡單。學習筆記就是自己的“難度手冊”,有點像高考的“錯題本”。以後無論是面試前還是日常工作中,都可以隨時翻出來,大有裨益。
#.按類別保存演示
學習筆記是很好的書面材料,但是編程界有壹句話特別好。所謂“無碼無文”,就是千言萬語中無碼為真。
以我的經驗,在妳學習的過程中,無論妳當時對某個知識點理解的多麽透徹,調試的多麽好,只要時間長了,到了實際運用的時候,肯定會遇到各種各樣的問題,壹些看似簡單的事情,而這個時候,生死就是無法調整。都說人對事物著迷。這時候,如果妳手頭正好有壹個運行良好的demo,打開參考壹下(甚至直接復制),問題自然就解決了。而且因為這些demo都是自己調試的,印象自然特別深刻。當妳遇到問題的時候,妳的腦海裏會立刻浮現出來。
所以在學習的過程中,壹定要善待自己調出來的demo。當妳用完的時候不要扔掉它。以後遇到困難,想用的時候找不到了。正確的做法是把所有調過的demo分門別類保存起來,到時候查起來就方便了。
人們都說“書少恨用”,其實代碼也是如此。所謂“demo用的時候恨的少”。
2.春天
目前在Java EE的開發中,Spring已經成為了和Java核心庫壹樣的基礎設施,所以如果妳想成為壹名合格的Java程序員,Spring肯定是不可避免的。另壹方面,如果妳掌握了Spring系統,Java基本就是入門,妳有能力做壹些實際的開發。
但是Spring本身越來越復雜,衍生項目越來越多,但核心概念還是IOC和AOP。掌握了這兩個概念,學習Spring MVC,學習其他衍生項目,就會順暢很多。
對了,如果妳現在正在學習Java,遇到任何關於學習方法、學習路線、學習效率等方面的問題。在剛開始學習Java的過程中,妳可以申請加入我的新手Java學習交流。群:之前輸入是:390,最後輸入是:7814。有很多初學者在學習Java技術,包括很多從事Java技術開發的大牛。裙檔裏還有壹些學習手冊,面試問題,開發工具,PDF文檔以及書籍和教程,都是我在做Java技術期間整理的。如果有必要,我可以自己去拿。
同時,因為Spring本身應用了很多優雅的設計理念,所以學習Spring的過程也是壹個強化Java基礎知識的過程。所以當妳掌握了Spring,妳會突然意識到很多妳並沒有理解透徹的Java特性,包括接口和抽象類。
我是學春天的,看的第壹本書是《實戰中的春天》。坦白說,這本書很壹般,但我還沒遇到市面上更好的書。還有壹本書《Spring源代碼深度解析》,也不錯,特別是對Spring的設計理念。雖然整本書有點難讀,但前幾章生動有趣,也是整本書的精髓。所以我建議妳在學習Spring之前通讀壹下書的前幾章,然後再回來實戰學習Spring就會順利很多。
以我的經驗來看,徹底學習Spring的終極方法是閱讀源代碼(我當時就是這麽做的)。把Spring的核心源代碼看透徹了,人才會真正的自由(所謂沒有真理的自由),不僅僅是對Spring,而是對整個Java系統。以後遇到其他框架,大概壹眼就能看出脈絡,所謂“看山不是山”已經到了那種境界。但這是後話,可以作為妳以後努力的方向。
就像學習Java基礎壹樣,學習Spring壹定要做筆記,壹定要分門別類保存demo。
說實話,初學春遊不容易,最好有個好老師帶。用不了多久,兩節課就行了,然後遇到很大困難的時候可以給它壹個及時的指導。
以我的經驗,掌握Spring大概需要1到1個半月。
3.其他知識
Spring是Java編程的基礎設施,但是如果真的要進入實際的項目開發,還是有壹些繞不過去的東西,包括MySql、Mybatis、Redis、Servlet等。但是如果妳受到了春天的洗禮,這些事情相對就簡單多了。以我的經驗,1個月就夠了。
4.實踐
學Java,光學沒有實踐肯定不行。但是因為是自學,沒有實用的產品讓妳練習,不過沒關系。誰在大學沒做過畢業設計?以我的經驗來看,大家最喜歡的“學生管理系統”還是壹個不錯的手把手訓練系統。
“學生管理系統”雖然邏輯簡單,但是麻雀雖小,五臟俱全,其中數據庫設計、Mybatis、Spring、SpringMVC、Servlet、Tomcat都是不可或缺的,絕對是好夥伴。
還有,雖然妳的學習重點是Java,但是因為要做壹個完整的demo,前端的配合肯定是不可或缺的。所以學習壹些簡單的JS和HTML知識是必然的,但是因為前端是壹個很大的話題,所以壹定要控制好邊界,千萬不能顧此失彼。就“學生管理系統”而言,在前端,只要實現壹個包含表格、文本框、按鈕的簡單頁面,就可以向服務器發送REST請求,實現學生的“添加、刪除、修改、搜索”。
作為壹個培訓項目,目標是把Java的主要技能串起來,不可能做到完美,所以1個月就夠了。
最後
按照上面的流程,四個月剛好。當然,Java系統龐大,還有很多更高級的技能需要掌握,不過不用擔心,這些都可以用於以後的其他學習。
學習編程是壹個從混沌到有序的過程,所以如果在學習過程中遇到壹時理解不了的知識點,也不必沮喪,更不用氣餒。這很正常,也不可能正常,但只是暫時的。
在日常教學中,我經常把下面這句話送給學生,今天送給妳:
“道路是曲折的,前途是光明的!”
祝妳好運!