有不足或者問題大家可以在評論中留言,謝謝大家。
以 Java 後端為主,擴充套件/基礎 部分可以根據需要自行調整順序。
初學者強烈建議先閱讀計算機體系部分!!
人都有一個遺忘規律,很多時候我們都是在和遺忘做鬥爭。歡迎大家友善的交流。
部落格文章分類:https://www.cnblogs.com/zwtblog/tag
計算機體系
構建知識體系的視訊。
專案地址:https://github.com/1c7/Crash-Course-Computer-Science-Chinese
視訊地址:https://www.bilibili.com/video/av21376839/
本視訊不會涉及程式設計,會從高層次上縱覽一系列計算機話題。希望你能瞭解計算機在你的人生 以及社會中扮演什麼角色。
第一階段--基礎
最重要的階段,基礎不牢,地動山搖。
附帶:
第二階段--原始碼閱讀計劃
熟悉常見原始碼,養成原始碼閱讀習慣。
附帶連結中有基礎與進階的原始碼解析,這裡我僅僅列舉常見的集合類。
附帶:原始碼解析
第三階段--JUC
JUC的詳細解讀。
在Java 5的時候,新增了java.util.concurrent(JUC)包,其中包括大量用於多執行緒程式設計的工具類,目的是為了更好的支援高併發任務,讓開發者進行多執行緒程式設計時減少競爭條件和死鎖的問題!
裡面會設計到許多作業系統的知識,根據需要,自行調整順序。
附帶:
第四階段--JVM
JJVM是Java Virtual Machine的縮寫。它是一種基於計算裝置的規範,是一臺虛擬機器,即虛構的計算機。
通過JVM,Java實現了平臺無關性,Java語言在不同平臺執行時不需要重新編譯,只需要在該平臺上部署JVM就可以了。因而能實現一次編譯多處執行。
附帶:https://www.cnblogs.com/zwtblog/tag/JVM/
JVM-超全圖
第五階段--資料庫
資料庫有許多種,文章裡面主要介紹的MySQL。MySQL是一個 關係型資料庫管理系統,由瑞典MySQL AB 公司開發,屬於 Oracle 旗下產品。
MySQL 是最流行的關係型資料庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關聯式資料庫管理系統) 應用軟體之一。
部分內容與下面的JavaWeb階段重合。資料庫是學習JavaWeb的一個前置,只有瞭解了資料庫的操作和使用,我們才能更好地組織和管理網站應用產生的資料。
附帶:
- https://www.cnblogs.com/zwtblog/tag/資料庫/
- JAVA中直接用Jdbc就能運算元據庫了,為什麼還要用spring框架?
- MySql分割槽、分表和分庫
- 大資料四大陣營
第六階段--JavaWeb
我們學習JavaWeb的最終目的是為了搭建一個網站,並且讓使用者能訪問我們的網站並在我們的網站上做一些事情。
設計到的網路知識,根據需要,自行調整順序。
附帶:https://www.cnblogs.com/zwtblog/tag/JavaWeb/
第七階段--SSM
SSM(Spring+SpringMVC+Mybatis)階段的學習,也算是成功出了Java新手村。
在JavaWeb階段,我們已經學習瞭如何使用Java進行Web應用程式開發,我們現在已經具有搭建Web網站的能力,
但是,我們在開發的過程中,發現存在諸多的不便,我們發現雖然我們思路很清晰,知道如何編寫對應的介面,但是這樣的開發效率,實在是太慢了,並且對於物件建立的管理,存在諸多的不妥之處.
因此,我們要去繼續學習更多的框架技術,來簡化和規範我們的Java開發。
附帶:
第八階段--微服務
微服務(Microservice Architecture) 是近幾年流行的一種架構思想,關於它的概念很難一言以蔽之。
究竟什麼是微服務呢?我們在此引用ThoughtWorks 公司的首席科學家 Martin Fowler 於2014年提出的一段話:
附帶:
擴充套件--前端
前端基礎學習
待更新…………
擴充套件--Linux
注意:本版塊會涉及到作業系統
相關知識。
擴充套件--中介軟體
中介軟體這個術語第一次出現是 1968 年在德國加爾米施帕滕基興舉辦的 NATO 軟體工程大會結束後發表的一份報告中。
從廣義上講,中介軟體涵蓋了從 Web 伺服器,到身份驗證系統,再到訊息傳遞工具等一切內容。
中介軟體是為應用提供通用服務和功能的軟體。資料管理、應用服務、訊息傳遞、身份驗證和 API 管理通常都要通過中介軟體。
中介軟體可以幫助開發人員更有效地構建應用。它就如同是應用、資料與使用者之間的紐帶。
常用的一些中介軟體:Redis,ElasticSearch,各種MQ…………
大致的效果是:
需要利用服務的人(前端寫業務的),不需要知道底層邏輯(提供服務的)的具體實現,只要拿著中介軟體結果來用就好了。
在Web開發階段,SSM階段以及微服務階段我們都會整合各種合適的中介軟體。
具體內容:https://www.cnblogs.com/zwtblog/tag/
基礎--資料結構
資料結構是計算機儲存、組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。
例如:各種集合類………
基礎--計算機網路
這個是重頭戲。
計算機網路是指將地理位置不同的具有獨立功能的多臺計算機及其外部裝置,通過通訊線路連線起來,在網路作業系統,網路管理軟體及網路通訊協議的管理和協調下,實現資源共享和資訊傳遞的計算機系統。
附帶:計算機網路
基礎--計算機組成原理
介紹了計算機的基本組成原理和內部工作機制。
計算機組成原理-思維導圖-地址:https://www.cnblogs.com/zwtblog/p/15266044.html
基礎--作業系統
基礎--設計模式
設計模式是針對軟體設計中常見問題的工具箱, 其中的工具就是各種經過實踐驗證的解決方案。
即使你從未遇到過這些問題, 瞭解模式仍然非常有用, 因為它能指導你如何使用物件導向的設計原則來解決各種問題。
演算法更像是菜譜: 提供達成目標的明確步驟。 而模式更像是藍圖: 你可以看到最終的結果和模式的功能, 但需要自己確定實現步驟。