1. 程式人生 > 實用技巧 >學習Java應該怎麼樣去打好Java基礎?

學習Java應該怎麼樣去打好Java基礎?

因為是在工作中培訓,就必然有兩個約束:實用、時間緊,因此就不能像大學那樣,把所有的知識點都面面俱到的講到。而只能挑基礎的,實用的,難理解的講。至於其他邊邊角角的知識,就一筆帶過。一則沒有時間,二則不常用,再則既使講了,學生印象也不深刻。

總之一句話:“好鋼用在刀刃上”


下面,就根據我的實踐,具體談下學習過程:


1.基礎知識
我學習java的時候,先是通讀了《Java程式設計思想》,然後是《Java核心技術》。當時這兩本書還不像現在這麼厚,而剛才我把案頭的《Java核心技術》第9版翻了翻,上下兩冊已經1700多頁了,可想而知,如果要把它通讀一遍,且不說把所有的程式碼都調通,就是當小說讀,估計也需要些時間。


但我現在教學依然首推《Java核心技術》,主要是體系完整,例項多,可操作性強。但對初學者,我一般是隻講前6章,也就是下面的內容:

  1. Java程式設計概述
  2. Java程式設計環境
  3. Java的基礎程式設計結構
  4. 物件與類
  5. 繼承
  6. 介面與內部類

就《Java核心技術》第9版來說,也就是到250頁為止,加把勁,1個月拿下完全沒問題。
因為你是自學,所以建議你一定要把其中的程式碼都調通,課後的作業儘量去做。除此之外,還有兩點特別重要:


#.學習筆記


因為你是自學,不像在企業中學了就能夠實踐,印象自然特別深刻。而自學因為沒有實踐的及時反饋,所以記筆記就顯得特別重要。因為記筆記就像寫作一樣,是整理思路的絕佳方法。同時學習筆記也是你以後開發,面試的絕好資料。


學習程式設計,人跟人是不一樣的,別人覺得難理解的東西,對你卻不一定;而你覺得難理解的東西,別人可能又會覺得特簡單。而學習筆記就是自己專有的“難點手冊”,有點像高考時的“錯題本”,以後無論是在面試前,還是在日常工作中,隨時都可以翻出來看看,自是獲益匪淺。


#.分門別類儲存demo


學習筆記是很好的文字資料,但程式設計界有句話說的特別好,所謂“no code, no text”,意思就是說:千言萬語都沒有一段程式碼來的實在。
以我的經驗,在你在學習的過程中,就某個知識點,無論當時理解的多透徹,除錯的多棒,只要時間一長,等到了實用的時候,肯定會碰到各種各樣的問題,一些看似簡單的東西,此時死活就是調不通,正所謂人到事中迷。這個時候,如果你手頭恰有執行良好的demo,開啟參考一下(甚至直接拷貝過來),問題自然迎刃而解。而且因為這些demo都是你親手調試出來,印象自然特別深刻,一碰到問題,在腦子中自會立刻湧現。


所以說,在學習的過程,一定要善待你調通的demo,千萬不要用完了就扔,等後來碰到困難,想要用時卻找不到,追愧莫及。正確的做法就是把所有調通的demo,分門別類的儲存起來,到時候查起來自是得心應手。
人都說“書到用時方恨少”,其實程式碼也是這樣,所謂“demo用時方恨少”。


2.Spring


目前在Java EE開發中,Spring已經成為和Java核心庫一樣的基礎設施,所以說如果想成為一個合格的Java程式設計師,Spring肯定繞不開。另一方面,如果掌握了Spring體系,Java基本上就算入門了,就有能力進行一些實用級的開發了。


但Spring本身也是日漸複雜,衍生專案越來越多,但最最核心的概念依舊是IOC和AOP,掌握了這兩個概念,再把Spring MVC學會,再學習其他的衍生專案就會平滑很多。


同時,因為Spring本身就應用了許多優雅的設計理念,所以學習Spring的過程,也是加強Java基礎知識學習的過程。因此等你掌握了Spring,原來很多你理解不透徹的Java特性,此時就會恍然大悟,包括介面、抽象類等。


我學習Spring,讀的第一本書是《Spring實戰》,坦率的說,書很一般,但市面上比它好的書,我卻沒有遇到過。還有一本《Spring原始碼深度解析》也不錯,對Spring的設計理念講的尤其透徹,雖然整本書讀起來有些艱澀,但前幾章卻生動有趣,也是整本書的精華。所以建議你在學習Spring之前,先把該書的前幾章通讀一下,然後再回過頭來學習《Spring實戰》會順利很多。


以我經驗,要學透Spring,終極的方法還是閱讀原始碼(我當時就是這麼幹的),待把Spring的核心原始碼通讀了,人就真的自由了(所謂無真相不自由),不僅是對Spring,而是對整個Java體系。以後再遇到其他框架,大概一眼就能看出其中的脈絡,所謂到了“看山不是山”的境界。但這都是後話,可以作為以後你努力的方向。


和學習Java基礎知識一樣,學習Spring也一定要記筆記,一定要分門別類儲存demo。
老實說,Spring對初學者不算簡單,因此最好能有個好老師帶一下,不用太長時間,2個課時即可,然後就是在你遇到大的困難時,能及時的點撥下。


以我的經驗,要初步掌握Spring,大概需要1到1個半月的時間。


3.其他知識


Spring是Java程式設計的基礎設施,但真要進入到實際專案的開發,還有些東西繞不過,包括 MySql,Mybatis,Redis,Servlet等,但如果你經過Spring的洗禮,這些東西相對就簡單多了,以我的經驗,1個月的時間足夠了。


4.實踐


學習Java,光學不練肯定是不行的。但因為是自學,所以就沒有實際的產品讓你練手,但也沒有關係,誰大學還沒有做過畢業設計呢?以我的經驗,大家最愛的“學生管理系統”依舊是個很好的練手系統。


別看“學生管理系統”邏輯簡單,但麻雀雖小五臟俱全,其中資料庫設計、Mybatis,Spring、SpringMVC,Servlet、Tomcat一個都不缺,絕對的練手好伴侶。
還有,雖然你的學習重點在Java,因為要做一個完整的demo,前端的配合肯定少不了。因此就免少不了要學一些簡單的JS、HTML知識,但因為前端本就是個很大的topic,所以一定要控制好邊界,千萬不要顧此失彼。就“學生管理系統”來說,在前端上,只要實現一個包含table、textbox、button,能傳送REST請求到server,能實現學生的“增刪改查”的簡單頁面即可。


作為一個練手專案,目標就是把Java的主要技能點串起來,所以自不求盡善盡美(也不可能),所以1個月時間足夠了。


.最後


按照上面的過程,4個月的時間剛剛好。當然Java的體系是很龐大的,還有很多更高階的技能需要掌握,但不要著急,這些完全可以放到以後工作中邊用別學。
學習程式設計就是一個由混沌到有序的過程,所以你在學習過程中,如果一時碰到理解不了的知識點,大可不必沮喪,更不要氣餒,這都是正常的不能再正常的事情了,不過是“人同此心,心同此理”的暫時而已。


在日常的教學中,我常把下面這句話送給學員們,今天也把它送給你:


“道路是曲折的,前途是光明的!”推薦JAVA更多資料公告上

《Java面試通關手冊》已經很全面很詳細了,程式設計師必備。

最後

碼邦主:程式設計師必備 Java 核心知識點整理
Java程式設計師面試之葵花寶典

在這裡說一下自己整理了一份關於java的系統化資料,從Javase- ssm-springcloud,包括了面試題,PDF電子書,網上商城專案,個人部落格專案,分散式專案等都有睜開想學習Java或者轉行,大學生都非常實用,無任何套路免費提供,在我的公告上加

以下資料在交流群檔案能下載