作為一個程式設計師,長期的從事基礎性的代碼開發也是不現實的一件事,如果不能有所提高,長期做最基礎的開發,對於個人的職業技能發展也是不好的。我們都知道程式設計師 的發展有兩個主要方向一個是管理方向,另外一個就是技術方向。技術方向就要考慮往架構這塊發展了,要想成為一個合格的後端架構師,就要掌握後端架構師的知識體系,為了讓更多的朋友了解後端架構師的知識體系,新霸哥從後端架構中總結了一些經驗供大家參考學習,下面從基礎組件開始介紹。後期會持續更新。
多線程
多線程:指的是這個程序(一個進程)運行時產生了不止一個線程。
並行與並發:
並行:多個CPU實例或者多臺機器同時執行一段處理邏輯,是真正的同時。
並發:通過CPU調度算法,讓用戶看上去同時執行,實際上從CPU操作層面不是真正的同時。並發往往在場景中有公用的資源,那麼針對這個公用的資源往往產生瓶頸,我們會用TPS或者QPS來反應這個系統的處理能力。
同步:Java中的同步指的是通過人為的控制和調度,保證共享資源的多線程訪問成為線程安全,來保證結果的準確。如代碼簡單加入@synchronized關鍵字。在保證結果準確的同時,提高性能,才是優秀的程序。線程安全的優先級高於性能。
線程安全:經常用來描繪一段代碼。指在並發的情況之下,該代碼經過多線程使用,線程的調度順序不影響任何結果。這個時候使用多線程,我們只需要關注系統的內存,CPU是不是夠用即可。反過來,線程不安全就意味著線程的調度順序會影響最終結果。
在java中要想實現多線程,有兩種手段,一種是繼續Thread類,另外一種是實現Runable接口。在java中,每次程序運行至少啟動2個線程。一個是main線程,一個是垃圾收集線程。因為每當使用java命令執行一個類的時候,實際上都會啟動一個JVM,每一個jVM在作業系統中啟動了一個進程。
多線程編程,模型複雜,容易發生衝突,必須用鎖加以隔離,同時,又要小心死鎖的發生。
加密
用戶登入、交易、信息通訊、oauth 等等,不同的應用場景也會需要使用到不同的籤名加密算法,或者需要搭配不一樣的 籤名加密算法 來達到業務目標。
反射
反射的核心是 JVM 在運行時才動態加載類或調用方法/訪問屬性,它不需要事先(寫代碼的時候或編譯期)知道運行對象是誰。通過反射,我們可以在運行時獲得程序或程序集中每一個類型的成員和成員的信息。程序中一般的對象的類型都是在編譯期就確定下來的,而 Java 反射機制可以動態地創建對象並調用其屬性,這樣的對象的類型在編譯期是未知的。所以我們可以通過反射機制直接創建對象,即使這個對象的類型在編譯期是未知的。
反射最重要的用途就是開發各種通用框架。很多框架(比如 Spring)都是配置化的(比如通過 XML 文件配置 Bean),為了保證框架的通用性,它們可能需要根據配置文件加載不同的對象或類,調用不同的方法,這個時候就必須用到反射,運行時動態加載需要加載的對象。
調度
分配工作所需資源的方法。進行調度工作的程序叫做調度器。調度器通常的實現使得所有計算資源都處於忙碌狀態(在負載均衡中),允許多位用戶有效地同時共享系統資源,或達到指定的服務質量。調度是計算自身的基礎,同時也是程式語言計算模型固有的部分。調度器使得在單處理器上通過多任務處理,從而讓執行多個進程成為可能。
隊列
先進先出(FIFO, First-In-First-Out)的線性表。在具體應用中通常用鍊表或者數組來實現。隊列只允許在後端(稱為rear)進行插入操作,在前端(稱為front)進行刪除操作。
隊列的操作方式和堆棧類似,唯一的區別在於隊列只允許新數據在後端進行添加。
高性能網絡層
對網絡、作業系統協議棧、進程與線程、常見的網絡組件等知識點,需要有豐富的項目開發經驗,能夠權衡伺服器運行效率與項目開發效率。
插件
透過和應用程式(例如網頁瀏覽器,郵箱客戶端)的互動,用來替應用程式增加一些所需要的特定的功能。最常見的有遊戲、網頁瀏覽器的插件和媒體播放器的插件。
壓縮
通過特定的算法來減小計算機文件大小的機制。為了減少數據大小以節省保存空間和傳輸的時間。為了數據的傳輸,壓縮能夠作用於單獨的數據內容或者所有的傳輸單元(包括數據頭),這取決於一些特定的因素。
擴展方法
擴展方法使你能夠向現有類型「添加」方法,而無需創建新的派生類型、重新編譯或以其他方式修改原始類型。 擴展方法是一種特殊的靜態方法,但可以像擴展類型上的實例方法一樣進行調用。 對於用 C#、F# 和 Visual Basic 編寫的客戶端代碼,調用擴展方法與調用在類型中實際定義的方法沒有明顯區別。
表達式樹
表達式樹是將我們原來可以直接由代碼編寫的邏輯以表達式的方式存儲在樹狀的結構裡,從而可以在運行時去解析這個樹,然後執行,實現動態的編輯和執行代碼。
今天就先簡單的介紹到這裡,下一次介紹基礎監控,業務監控,軟體系統監控,硬體監控,用戶的行為等等。更多信息關注新霸哥。