原创 併發編程學習(16)-----非阻塞同步機制
思維導圖: 引言: 在此之前,所有對併發競爭的處理都是使用鎖來處理的。使用鎖固然可以保證修改的正確性,但是,所也有它固有的缺點。鎖的缺點如下: 高開銷:使用鎖必然意味着在多個線程競爭時大部分線程都會陷入沉睡然後喚醒的循環,會有極
原创 併發編程學習(15)-----自定義同步工具
思維導圖: 引言: 當原生的同步工具類,比如CountDownLauch,Semaphore,ReentrantLock等不能提供我們所需要的功能時,我們就需要自定義一個新的同步工具類了。 本文將會先介紹如何對狀態依賴性
原创 併發編程學習(18)-----第四部分-高級主題
引言: 本文主要是對14,15,16,17篇文章進行總結。 總結: 高級主題這個部分各個章節的關聯性不打,所以沒能畫出具有邏輯關係的思維導圖來,接下來我們對着個部分的四個章節進行概要的簡單回顧。 《顯式鎖》這章介紹
原创 深入理解計算機系統(1)-----計算機系統漫遊
思維導圖: 引言: 深入理解計算機系統系列是我看<<深入理解設計系統>>的讀書總結.本章既爲開篇的第一章-計算機系統漫遊.其主要內容是從整體上介紹什麼是計算機系統.例如: 計算機系統由那些部分構成 計算機系統是如何管理硬件的
原创 併發編程學習(17)-----Java內存模型
思維導圖: 引言: 在前面的文章中,我們刻意的避免了對java內存模型JMM的介紹。實際上,正是java內存模型決定了對java代碼的重排序。重排序實際就是多個線程對變量改動的不可見的原因,因爲在代碼邏輯上A線程成的操作在B線程
原创 Spring框架學習(5)-----集成Spring MVC
思維導圖: 一.引言 Spring MVC 的功能是幫助我們實現視圖V和數據模型M的解耦,而這靠的就是中間的重定向層Controller C.本文主要分爲三個部分進行介紹.第一部分講解Spring MVC的工作原理,第二部分簡單
原创 Zookeeper學習(3)-----基本使用
思維導圖: 引言 本文主要介紹瞭如何使用ZkClient(zookeeper原生API的封裝引用)去構建Zookeeper的主從節點數模型。所以,主要內容分爲兩個部分。 Zkclient 的API的簡單使用 以主節點選舉爲例介紹
原创 Redis學習(4)-----集羣
思維導圖: 引言 本文是對Redis集羣機制的簡單介紹。主要內容有主從節點的原理,Cluster集羣的構建及原理,最後,簡單介紹了Redis的哨兵機制。 一.主從節點 在對Cluster集羣進行介紹之前,需要先了解R
原创 Spring框架學習(2)-----依賴注入的基礎使用
思維導圖: 一.引言 這篇文章的主要內容是介紹Spring 中依賴注入(dependency injection) DI 的簡單使用,全文共分爲三個部分,每個部分都是一種裝配模式,其中有自動裝配,這是最推薦使用的模式,代碼量
原创 Spring Cloud學習(1)-----基礎知識
思維導圖: 引言: Spring Cloud學習系列是我對<<Spring Cloud微服務始實戰>>一書的讀書筆記.本片文章則是第一章:基礎知識的歸納總結. 本文主要是通過對比單體服務和微服務的優缺點來說明微服務相關基
原创 Spring Cloud學習(2)-----Eureka
思維導圖: 引言 Spring Cloud Eureka是Spring Cloud Netflix微服務套件中的一部分,它基於Netflix Eureka做了二次封裝,主要負責完成微服務架構中的服務治理功能. 服務治理是
原创 併發編程學習(13)-----第三部分-活躍性,性能和測試
引言: 本文主要是對10,11,12篇文章進行總結。 總結: 《避免活躍性危險》的主要內容是介紹如何可能出現的活性性危險有什麼。比如死鎖,活鎖,飢餓。遇到不同的活躍性危險又該如何避免。例如,死鎖可能出現的情況有順序死鎖,動
原创 併發編程學習(14)-----顯式鎖
思維導圖: 引言: 本文的主要內容是介紹兩種顯式鎖的使用。一種是Lock,一種是ReadWriteLock。所以,本文可以歸類爲使用部分: 使用部分:介紹Lock,其實現類是ReentrantLock,功能則是補充synchro
原创 併發編程學習(12)-----併發性能的測試
思維導圖: 引言: 本文的主要內容是介紹如何測試併發程序。因爲全是都只是對併發程序的測試的簡要描述,所以基本上都歸屬於理論部分。 理論部分:包括正確性測試,性能測試,和其他測試 一.正確性測試 對於併發程序來說,我們應該
原创 併發編程學習(11)-----性能
思維導圖: 引言: 使用多線程最主要的目的就是提升程序的運行性能,本章的主要內容就是介紹如何分析多線程程序的性能以及如何提高性能。全文大體分爲以下兩個部分: 理論部分:性能分析,包括如何分析多線程程序的執行性和可伸縮性 使用部分