
1、我為什么要學習JAVA開發
我為什么要選擇JAVA開發,是因為我對程序開發非常感興趣嗎?當然不完全是。
這個原因很簡單,因為我剛辭掉了工作,急需找到一份新的工作,開啟新的人生篇章,當時JAVA開發比較熱門,學會了能掌握一門手藝,能夠在我喜歡的北京找到一份工作,所以我就選擇學習JAVA開發。
所以選擇學什么不一定是因為感興趣,可能就是為了完成某個任務,快點找到新的工作就是我的一個任務,因為有這個任務的驅動才讓我開始學某個新的東西。
以后千萬別說,我對某某不感興趣,所以我不想學,有興趣當然好,沒有興趣就創造個任務,通過任務來驅動你去學習。
就像當初自己從研發轉需求,需要學會原型設計,學會了才能勝任這個工作,所以就有很強的驅動力去學,不管你有沒有興趣。
另外我為什么選擇自學JAVA呢,原因也很簡單,培訓學校額學費實在是太貴了,而且時間周期太長,我等不起。
所以說興趣驅動學習是個偽命題,任務驅動學習才是王道。
2、我采用了什么學習方法
(1)簡單模仿
第一步很簡單,就是在網上找了一個比較基礎的入門教學視頻,大概有幾十個課時,下載下來跟著學。
從最開始的安裝開發開發環境、到學習基本的語法、對象、算法,教程里的每段程序,我都原封不動的寫了一遍,調試直到編譯通過。
從學習J2SE的這些基礎類,到學習Web編程,基本上的套路就是不斷的模仿,直到能熟練的寫出來。
就像賣油翁里說的,我亦無他,唯手熟爾。
(2)高級模仿
高級模仿不再是模仿這些比較基礎的知識和零碎的算法,而是要要模仿一個系統如何設計?如何通過程序把這個系統寫出來。
我當時模仿的是一個學生成績管理系統,所有的數據庫表設計、類設計、前臺頁面設計都有完整的講解和代碼,頁面不算多,基本上就是些增、刪、改、查,涉及到單筆操作和多筆操作。
這么一個不算復雜的小系統,全都模仿寫出來,難度要比模仿那些零散的算法大的多,最關鍵的是出了問題,不好找。
有時覺得自己就是抄寫了一遍程序代碼,不知道為什么還是會有問題,可能是前臺頁面的問題,也可能是后臺的了類寫的有問題,也可能是數據SQL語句寫錯了,總之問題難找多了。
通過這種方法,模仿幾個案例下來,進步是很大的,你的腦子里會有一個完整的系統架構,從前臺到后臺,再到數據庫。
(3)開始創造
所謂創造就通過對所學基礎知識進行整合,自己設計一個小系統,我當時自己設計了一個圖書借閱系統,雖然也很簡單,但完全是個人制造,每一行代碼都是自己敲出來的,這比模仿的難度高了一個層級。
雖然有難度,但這種方法卻讓你有一種十足的控制感,感覺自己是在創造一個作品,非常有成就感。
通過這個過程的磨練,使的你對知識的掌握更加深刻,過程中遇到問題,因為沒有參照物只能自己想辦法解決。
通過這種創造的方式,我對學到的編程知識進行了一次實踐應用,這個過程才是真正把知識學透的過程。
通過從簡單模仿、高級模仿,到創造的過程,實際我運用的正是刻意練習的學習方法,是一個不斷精進的過程。
簡單模仿是刻意的練習我不懂的基礎知識,高級模仿是避免大腦自動化的過程,這個過程加深對知識的理解,創造過程就是一個對所學知識的應用、反饋的過程,通過這種方式,將所學的知識再加工,通過自己的理解正確表達出來,這才能證明你真的學會了。
3、如何對待學習拖延的問題
我有三個小妙招可以防止拖延:
(1)時刻保持壓力
有壓力才有動力,壓力能調動人的最大潛能,人在有壓力的情況下才能盡快行動起來,想想自己還沒有工作,口袋里的銀子也快花光了,給自己設置的Deadline也快到期了,一想到這些哪還敢拖延。
(2)定個能夠到的小目標
假如一開始我的目標就是要設計一個圖書借閱系統出來,可能很快我就會有挫敗感,所以剛開始我給自己定的目標就是先學會一些常見的算法,這樣實現起來比較容易,學會個冒泡排序還是很容易的,這樣也就不會拖延了。
(3)找些好玩的程序寫
寫程序很枯燥,所以我為了學習J2SE的基礎知識,專門模仿寫了一個坦克大戰的小游戲,感覺特別好玩,不但能模仿,還能在原來基礎上改造程序,這么好玩的事,自然不會拖延。
手機瀏覽
全國
19974831731





