Java架構(gòu)師實戰(zhàn)核心知識整理

Java架構(gòu)師實戰(zhàn)核心知識整理

天津卓眾教育      2022-04-23 17:56:01     19

Java架構(gòu)師實戰(zhàn)核心知識整理,  Java架構(gòu)師實戰(zhàn)核心知識整理,由于每篇的細節(jié)內(nèi)容實在太多啦,所以只把部分知識點截圖出來粗略的介紹,每個小節(jié)點里面都有各

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

  Java架構(gòu)師實戰(zhàn)核心知識整理,由于每篇的細節(jié)內(nèi)容實在太多啦,所以只把部分知識點截圖出來粗略的介紹,每個小節(jié)點里面都有各種細化講解內(nèi)容!


  JVM


  JVM是可運行Java代碼的假想計算機,包括一套字節(jié)碼指令集、一組寄存器、一個棧、一個垃圾回收,堆和一個存儲方法域。JVM是運行在操作系統(tǒng)之上的,它與硬件沒有直接的交互。



  運行過程:


  我們都知道Java源文件,通過編譯器,能夠生產(chǎn)相應的.Class文件,也就是字節(jié)碼文件,而字節(jié)碼文件又通過Java虛擬機中的解釋器,編譯成特定機器上的機器碼。


  也就是如下:


 ?、貸ava源文件—->編譯器—->字節(jié)碼文件


 ?、谧止?jié)碼文件—->JVM—->機器碼


  每一種平臺的解釋器是不同的,但是實現(xiàn)的虛擬機是相同的,這也就是Java為什么能夠跨平臺的原因了,當一個程序從開始運行,這時虛擬機就開始實例化了,多個程序啟動就會存在多個虛擬機實例。程序退出或者關(guān)閉,則虛擬機實例消亡,多個虛擬機實例之間數(shù)據(jù)不能共享。


  Java集合


  接口繼承關(guān)系和實現(xiàn)


  集合類存放于Java.util包中,主要有3種:set(集)、list(列表包含Queue)和map(映射)。


  1.Collection:Collection是集合List、Set、Queue的最基本的接口。


  2.Iterator:迭代器,可以通過迭代器遍歷集合中的數(shù)據(jù)


  3.Map:是映射表的基礎(chǔ)接口


  Java多線程并發(fā)


  Java并發(fā)知識庫


  


  Java線程實現(xiàn)/創(chuàng)建方式


  繼承Thread類


  Thread類本質(zhì)上是實現(xiàn)了Runnable接口的一個實例,代表一個線程的實例。啟動線程的唯一方法就是通過Thread類的start()實例方法。start()方法是一個native方法,它將啟動一個新線程,并執(zhí)行run()方法。


  

  實現(xiàn)Runnable接口


  如果自己的類已經(jīng)extends另一個類,就無法直接extendsThread,此時,可以實現(xiàn)一個Runnable接口。


  publicclassMyThreadextendsOtherClassimplementsRunnable{


  publicvoidrun(){


  System.out.println("MyThread.run()");


  }


  }13/04/2018Page55of283


  //啟動MyThread,需要首先實例化一個Thread,并傳入自己的MyThread實例:


  MyThreadmyThread=newMyThread();


  Threadthread=newThread(myThread);


  thread.start();


  //事實上,當傳入一個Runnabletarget參數(shù)給Thread后,Thread的run()方法就會調(diào)用


  target.run()


  publicvoidrun(){


  if(target!=null){


  target.run();


  }


  }

 

    Java基礎(chǔ)


  如果某個方法不能按照正常的途徑完成任務(wù),就可以通過另一種路徑退出方法。在這種情況下會拋出一個封裝了錯誤信息的對象。此時,這個方法會立刻退出同時不返回任何值。另外,調(diào)用這個方法的其他代碼也無法繼續(xù)執(zhí)行,異常處理機制會將代碼執(zhí)行交給異常處理器。


    


  Spring原理


  它是一個全面的、企業(yè)應用開發(fā)一站式的解決方案,貫穿表現(xiàn)層、業(yè)務(wù)層、持久層。但是Spring仍然可以和其他的框架無縫整合。


  6.1.1.Spring特點


  6.1.1.1.輕量級


  6.1.1.2.控制反轉(zhuǎn)


  6.1.1.3.面向切面


  6.1.1.4.容器


  6.1.1.5.框架集合


  


  微服務(wù)


  客戶端注冊(zookeeper)


  客戶端注冊是服務(wù)自身要負責注冊與注銷的工作。當服務(wù)啟動后向注冊中心注冊自身,當服務(wù)下線時注銷自己。期間還需要和注冊中心保持心跳。心跳不一定要客戶端來做,也可以由注冊中心


  負責(這個過程叫探活)。這種方式的缺點是注冊工作與服務(wù)耦合在一起,不同語言都要實現(xiàn)一套注冊邏輯。


  


  Netty與RPC


  Netty原理


  Netty是一個高性能、異步事件驅(qū)動的NIO框架,基于JAVANIO提供的API實現(xiàn)。它提供了對TCP、UDP和文件傳輸?shù)闹С?,作為一個異步NIO框架,Netty的所有IO操作都是異步非阻塞的,通過Future-Listener機制,用戶可以方便的主動獲取或者通過通知機制獲得IO操作結(jié)果。


  Netty高性能


  在IO編程過程中,當需要同時處理多個客戶端接入請求時,可以利用多線程或者IO多路復用技術(shù)進行處理。IO多路復用技術(shù)通過把多個IO的阻塞復用到同一個select的阻塞上,從而使得系統(tǒng)在單線程的情況下可以同時處理多個客戶端請求。與傳統(tǒng)的多線程/多進程模型比,I/O多路復用的最大優(yōu)勢是系統(tǒng)開銷小,系統(tǒng)不需要創(chuàng)建新的額外進程或者線程,也不需要維護這些進程和線程的運行,降低了系統(tǒng)的維護工作量,節(jié)省了系統(tǒng)資源。


  與Socket類和ServerSocket類相對應,NIO也提供了SocketChannel和ServerSocketChannel兩種不同的套接字通道實現(xiàn)。


  多路復用通訊方式


  Netty架構(gòu)按照Reactor模式設(shè)計和實現(xiàn),它的服務(wù)端通信序列圖如下:


  

 



培訓啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹慎!任何要求預付定金、匯款等方式均存在風險,謹防上當。