假若有那麼殘酷的一天,我不當心喝錯了一瓶藥,一會兒抹掉了我這十多年的編程經驗,把我變成了一隻小白。我想自學 Java,而且想要找到一份工做,我預計須要 6 個月的時間,前提條件是天天都處於高效率的學習狀態當中,而且天天的學習時間至少在 12 個小時以上。java
即使是這樣,我敢確定,找到的工做確定不會太好,勉強可以維持生活吧,畢竟是零基礎入門啊。git
若是想更進一步,真正成爲一名不可或缺的高級 Java 工程師,時間須要更久,兩年、三年、五年,直到禿的那天。程序員
想着想着,我就以爲有必要爲那一天作點準備,以備不時之需。github
Java 是一門計算機編程語言,學它的話,連臺電腦都沒有,學個屁。我有個親戚家的孩子想學編程,就只看書,家裏連臺電腦都不配,說什麼「先打好理論基礎,再實操」,我真的是有點醉。面試
有了電腦,還得聯網,自學的過程當中確定會遇到不少問題,遇到問題的時候先問搜索引擎,推薦谷歌和必應;實在沒有答案的話,也能夠來找我,申請加入技術交流羣,問問羣裏面的大佬們。正則表達式
既然要學 Java,JDK 是必需要先安裝的,不然 Java 程序就無法編譯和執行。算法
Maven 也是須要提早安裝和配置的,由於後面進階的話,須要一些練手項目,它們一般都須要 Maven 來加載第三方類庫。數據庫
使用集成開發環境 IntelliJ IDEA 來敲 Java 代碼吧,比 Eclipse 更流行。千萬不要使用記事本編寫源代碼了,對於小白來講,時間是寶貴的,記事本只適合大牛們用來裝逼,不適合小白用來編程(入門),純浪費時間。編程
有了 IDEA,後面學習源碼的話,就會方便不少,包括反編譯字節碼。設計模式
若是英語功底不太好的話,建議安裝這兩款 IDEA 插件:chinese 和 translation。
若是注重編碼規範的話,建議安裝這兩款 IDEA 插件:Alibaba 和 SonarLint。
爲何還須要 GitHub 倉庫或者碼雲倉庫呢?它們能夠用來在線雲同步源代碼,防止版本丟失。學到最後,還能夠造成一套本身的工具庫,輪子就有了,上班的時候工做效率就會高不少,能直接用的代碼不再用從新寫了。
1)基本數據類型
2)操做符
3)流程控制語句
4)包
5)main 方法詳解
String[] args
)6)數組
7)註釋
8)字符串
1)面向對象
2)經常使用工具類
3)集合框架
4)反射機制
5)異常處理
6)註解
7)IO 流
8)序列化
9)泛型
10)單元測試
11)編碼方式
12)併發編程
13)Java 8 新特性
14)源碼閱讀
1)JVM
2)性能優化
3)設計模式
4)數據結構和算法
5)操做系統
6)網絡安全
7)數據庫
8)大數據
9)服務器
10)框架
11)消息隊列
12)容器
須要 Java 書單的話,我在 GitHub 上發現了一個寶藏項目,光看了一下目錄,就有點吸引我。
須要的小夥伴能夠按需自取,地址以下所示:
技術是沒有終點的,也是學不完的,最重要的是活着、不禿。
零基礎入門的時候看書仍是看視頻,我以爲成年人,何須作選擇題呢,兩個都要。喜歡看書就看書,喜歡看視頻就看視頻。
最重要的是在自學的過程當中,必定不要眼高手低,要實戰,把學到的技術投入到項目當中,解決問題,以後進一步錘鍊本身的技術。
開源的項目我推薦 GitHub 上的 mall 和 vhr,前者是電商系統,後者是微人事,都用的最前言的技術,而且文檔很全面,不怕暈頭轉向。
自學最怕的就是缺少自驅力,必定要自律,杜絕「三天打魚兩天曬網」,到最後白忙活一場。
高度自律的同時,要保持耐心,不拋棄不放棄,切勿自怨自艾,天天給本身一點點鼓勵,學習的勁頭就會很足,不容易犯困。
技術學到手後,找工做的時候必定要好好準備一份簡歷,不要無頭蒼蠅同樣去海投簡歷,容易「竹籃打水一場空」。能夠參考下面的連接,好好的準備一下簡歷,畢竟是找工做的敲門磚。
拿到面試邀請後,在面試的過程當中必定要大大方方,盡力把本身學到的知識溫馨地表達出來,不要由於是自學就不夠自信,給面試官一個好的印象,面試成功的概率就會大不少,加油吧,騷年!