這份學習筆記是一位騰訊T8的大牛所寫,這份手冊將會從JVM開始寫起,每個部分一個章節,涵蓋了很全面的Java體系知識,這份學習筆記可以閒暇之時拿出觀閱!
這份手冊涉及JVM、多執行緒與高並行、Spring全家桶系列、微服務、Netty、RPC、網路底層知識、Zookeeper、資料機構與演演算法、訊息中介軟體、設計模式、負載均衡、Kafka等等太多了,共計分了29大模組。
下面我將會為大家一一展示(本文正文內容偏長,請大家耐心閱讀,一定會有很多收穫!)這份832頁的學習筆記的免費獲取方式在文末!
JVM是可執行Java程式碼的假想計算機,包括-套位元組碼指令集、一組暫存器、一個棧、一個垃圾回收,堆和一個儲存方法域。JVM是執行在作業系統之上的,它與硬體沒有直接的互動。
Netty是一個高效能、非同步事件驅動的NIO框架,基於JAVA NIO提供的API實現。它提供了對TCP、UDP和檔案傳輸的支援,作為一個非同步NIO框架,Netty 的所有I0操作都是非同步非阻塞的,通過Future-Listener機制,使用者可以方便的主動獲取或者通過通知機制獲得I0操作結果。
7層模型主要包括:
1. 物理層:主要定義物理裝置標準,如網線的介面型別、光纖的介面型別、各種傳輸媒介的傳輸速率等。它的主要作用是傳輸位元流(就是由1、0轉化為電流強弱來進行傳輸到達目的地後在轉化為1、0,也就是我們常說的模數轉換與數模轉換)。這一層的資料叫做位元。
2.資料鏈路層: 主要將從物理層接收的資料進行MAC地址(網路卡的地址)的封裝與解封裝。常把這一層的資料叫做幀。 在這一層工作的裝置 是交換機,資料通過交換機來傳輸。
3網路層:主要將從下層接收到的資料進行IP 地址(例192.168.0.1)的封裝與解封裝。 在這一層工作的裝置是路由器,常把這- -層的資料叫做封包。
4.傳輸層: 定義了一些傳輸資料的協定和埠號(WWW埠80等) , 如: TCP (傳輸控制協定,傳輸效率低,可靠性強,用於傳輸可靠性要求高,資料量大的資料),UDP (使用者資料包協定,與TCP特性恰恰相反,用於傳輸可靠性要求不高,資料量小的資料,如QQ聊天資料就是通過這種方式傳輸的)。主要 是將從下層接收的資料進行分段進行傳輸,到達目的地址後再進行重組。常常把這一層資料叫做段。
5.對談層: 通過傳輸層(埠號:傳輸埠與接收埠)建立資料傳輸的通路。主要在你的系統之間發起對談或或者接受對談請求(裝置之間需要互相認識可以是IP也可以是MAC或者是主機名)
6.表示層: 主要是進行對接收的資料進行解釋、加密與解密、壓縮與解壓縮等(也就是把計算機能夠識別的東西轉換成人能夠能識別的東西(如圖片、聲音等) )
7. 應用層主要是一些終端的應用,比如說FTP (各種檔案下載) , WEB (IE瀏覽),QQ之類的(你就把它理解成我們在電腦螢幕上可以看到的東西.就是終端應用)。
Zookeeper是一個分散式協調服務,可用於服務發現,分散式鎖,分散式領導選舉,設定管理等。
Zookeeper提供了一個類似於Linux檔案系統的樹形結構(可認為是輕量級的記憶體檔案系統,但只適合存少量資訊,完全不適合儲存大量檔案或者大檔案),同時提供了對於每個節點的監控與通知機制。
Apache Cassandra 是高度可延伸的,高效能的分散式NoSQL資料庫。Cassandra 旨在處理許多商品伺服器上的大量資料,提供高可用性而無需擔心單點故障。
Cassandra具有能夠處理大量資料的分散式架構。資料放置在具有多 個複製因子的不同機器上,以獲得高可用性,而無需擔心單點故障。
資料庫儲存引擎是資料庫底層軟體組織,資料庫管理系統(DBMS)使用資料引擎進行建立、查詢、更新和刪除資料。不同的儲存引擎提供不同的儲存機制、索引技巧、鎖定水平等功能,使用不同的儲存引擎,還可以獲得特定的功能。現在許多不同的資料庫管理系統都支援多種不同的資料引擎。儲存引擎主要有: 1. Mylsam , 2. InnoDB, 3. Memory, 4. Archive, 5. Federated。
這份Java全棧知識點PDF涵蓋了Java大部分的核心內容,學習筆記一共29大部分,832頁,需要免費領取的朋友麻煩幫忙點贊這篇文章+關注我,掃碼免費獲取!