CSDN 的同學們,大家好,我是二哥呀!
學 Java 其實不難,重要的是找到好的學習資料和學習方法,然後付諸實踐。
這裡給大家分享一些我的經驗心得,希望能給大家一些啟發和幫助。
一開始不要啃那些經典書!切記切記切記!
說出來不怕你笑話,我上大學的時候,老師安排的一本教材是《Java 程式設計思想》,足足 880 頁,拿到手的時候就像捧一本聖經,以為從此自己就要走上一條幸福的康莊大道。可好景不長,我發現自己根本就看不懂,一心想着要轉專業,幸好名額有限,沒轉走!
這本書現在還擺在我的桌子邊,書角已經破損了!

當然了,這本書之是以這麼破,是因為我的确在後來又重看了好幾遍,确實如獲至寶,但一開始,絕不适合作為入門書。
《Java 核心技術卷》這本書我也不推薦,因為裡面的内容過于瑣碎,該說的不該說的,裡面都有,讀起來就沒有多大勁,如果沒耐心地話可能就對學習 Java 失去了興趣。
大家先看看我整理的這份 GitHub 星标 115k+的 Java 教程,超級硬核,裡面涵蓋了 Java 所有的知識點,包括 Java 文法、Java 集合架構、Java IO、Java 并發程式設計和 Java 虛拟機,内容不多,隻講重點:點選下載下傳
來看一下目錄吧!
1)如果你是初學者,第一次接觸 Java
我的建議是,不要去鑽細節,先讓自己對 Java 的整個知識體系有一個鳥瞰的全局圖,讓自己知道,“啊,原來學習 Java 最終是要學這些核心知識點的。”
這就夠了!
2)如果你是初學者, 已經學過一段時間 Java 了
OK,你可以細細緻緻把這份教程給過一遍,不要放過任何一個知識點,有不懂的地方,就去百度、就去谷歌,直到自己徹底搞懂為止,如果還不懂,沒關系,你可以私信我,或者加入學習小組,和其他同學一起學習。
3)如果你不是初學者,有很多 Java 的學習經驗了
那麼就可以把這份教程當做是手邊的一份溫習資料,尤其是當你打算面試跳槽的時候,就可以重新讀一遍了。裡面這些知識點基本上是面試的常客,我列舉一些,你自檢一下:
new Integer(123) 與 Integer.valueOf(123) 的差別在于什麼?
String 不可變的好處是什麼?
請說一說你對字元串常量池的了解。
了解深拷貝與淺拷貝的差別嗎?
說說重寫與重載的差別吧。
請說說Fail-Fast機制吧?
研究過 ArrayList 和 LinkedList 的源碼嗎?
說說你對 HashMap 的了解。
synchronized 了解嗎?
ReentrantLock 了解嗎?
AQS 了解嗎?
運作時資料區域可以劃分為幾塊呢?
垃圾收集算法了解嗎?
垃圾收集器有哪幾種呢?
類加載機制了解嗎?
等等
這些是我印象中比較深刻的一些,你能答上來哪些題呢?
最後的心聲
為了整理這份 PDF,我可是費了老大勁,希望大家能夠珍惜這份勞動成果。
GitHub 星标 115k+的 Java 教程,超級硬核,點選可 download
我是二哥呀,希望這份教程能夠幫助到你筆芯