前言
這篇學習計劃,借鑑了我很喜歡的一位博客園博主「
五月的倉頡」所寫的幾篇文章,同時也針對本身的狀況改了「關於我在什麼時間學習」。之後看到這篇博客,可以時時刻刻警戒本身,努力,奮鬥,向優秀的人學習。
爲何我要不斷學習
-
努力,是由於同班同窗都小有成就、聚會侃侃而談、暢聊人生,而咱們卻只能在一旁默不做聲。
-
努力,是由於在工做中別人能夠深刻底層寫框架、搞架構,而咱們卻只能日復一日地增刪改查。
-
努力,是由於明天立刻咱們就要去面試,卻有太多問題茫然而不知所措。
關於我在什麼時間學習
- 午休時間
- 13點30開始午睡,午休時間用來看一些比較快的知識點,有40分鐘的時間。
- 來回宿舍的路上
- 一樣用來看一些比較快的知識點,天天早上8點10分出門,到達崗位9點整,再加上回宿舍的時間,有1個小時的時間。
- 週末和小長假
- 週末天天能夠拿出4個小時的時間,回顧一下最近的工做,沒有弄懂的地方研究一下。也能夠看一些技術方面的書籍。
- 長假
- 系統性的研究比較大的知識點,多敲一些例子,最好可以寫一些博客進行記錄。
- 下班
學習方法
學懂 —> 寫出來讓別人懂 —> 說出來讓別人懂
學習的方向
基本功、基本功、基本功。
Java語言層面:
- 《Effective Java中文版》,至少看三遍。
- 基本的東西紮實以後,學習JDBC、序列化、文件IO、Socket IO之類稍微進階的東西。
- 設計模式,策略、模板、工廠、狀態等。
- 集合框架ArrayList、LinkedList、HashSet、Queue、HashMap、HashTable、ConcurrentHashMap等,何時用哪一種數據結構,每種數據結構其優缺點。
- 多線程的學習,《Java多線程編程核心技術》做者高洪巖。
- 源碼的學習。
- JVM學習,《深刻理解JVM虛擬機》,至少看五遍。
框架層面:
- Spring
- MyBatis
- SpringMVC
- Netty,如今大量Java組件使用,例如dubbo、Jetty、Tomcat等,之後編寫高性能網絡通信框架時,必然Netty框架也是首選。底層原理、基本用法、線程模型、粘包拆包及解決方案等。
非Java層面(不分先後次序):
- Java大多數都是用來作網絡這一塊,所以須要對網絡有必定了解,包括TCP、HTTP、長短連接、WebSocket、epoll模型等。
- MySQL,從基本語法到存儲引擎、數據結構、索引、鎖、最重要還須要定位什麼是慢SQL。
- 緩存,Redis,至少須要知道緩存的使用場景以及緩存的基本用法。
- 消息中間件,有什麼用,使用場景,有哪些常見的消息中間件,簡單原理,點對點模式和發佈訂閱模式的區別。
- 容器,例如Tomcat、Jetty、JBOSS,一些基本配置。
- 分佈式概念,爲何須要分佈式,CAP理論,經常使用的負載均衡算法(尤爲以一致性Hash算法最爲重要,原理、做用)、分佈式鎖、熔斷、服務降級、分佈式一致性等,這方面須要學習的很是多。
- Linux服務器相關知識,操做系統原理。
總結
借鑑「
五月的倉頡」說過的一句我很喜歡的話:「
我只是一個程序員,這就是我如今純粹人生的所有。但願每一天,我均可以成爲更好的本身。」
附錄
參考文章
1.《爲何要不斷學習》 連接:
https://mp.weixin.qq.com/s/i0ije0dC7_htOS9ZKIwiSw
2.《工做這麼忙,哪有學習時間》 連接:
https://mp.weixin.qq.com/s/Syxra7rrJzJ-wLBdMLoUwQ
3.《分享一些個人學習方法》 連接:
https://mp.weixin.qq.com/s/y8BgHBQcPy5cCgDfAcq_Ow
4.《學習、學習、學習,咱們到底應當走怎樣的學習路線》 連接:
https://mp.weixin.qq.com/s/pJHCcdX6ZV2MjzCMVg-fnQ
5.《咱們努力的動力在哪裏》 連接:
https://mp.weixin.qq.com/s/Prc3EYYyhXlT1eq29ay3gQ