原创 OkHttp——Interceptor(4)

下面先給出一張圖,其中包含了OkHttp實現的默認攔截器,也是我們今天要分析的。 文章目錄簡單示例引入RetryAndFollowUpInterceptorBridgeInterceptorCacheInterceptorCon

原创 OkHttp——OKio(7)

文章目錄OKio結構圖OKio讀取文本OKio寫入文本總結 OKio結構圖 從左半部分的圖我們可以看出OKio本質是對Java原生IO對一次封裝。 那麼,在OKio 的幫助下,完成一次讀寫操作又是怎樣的呢? OKio讀取文本 下

原创 插手容器啓動之PropertyOverrideConfigurer

前篇的PropertyPlaceholderConfigurer可以通過佔位符,來明確表明表明bean定義中的property和properties文件中的各配置項之間的對應關係。如果說PropertyPlacehostConf

原创 插手容器啓動之propertyPlaceholderConfigurer

如果你不想看propertyPlaceholderConfigurer使用的原理,你可以點擊這裏 ,直接跳轉到你所需要的property-placeholder。 Spring提供了一種叫做BeanFactoryPostProc

原创 OkHttp——連接池管理(6)

文章目錄OkHttp分層結構中流砥柱之StreamAllocation連接池 ConnectionPoolRealConnection總結 OkHttp分層結構 OkHttp 分層結構如下圖所示,其中連接池部分位於我們的最底層連接

原创 OkHttp——Dispatcher(5)

文章目錄OkHttp架構圖Dispathcer 整體分析Dispatcher的異步請求實現 OkHttp架構圖 OkHttp的整體架構如下圖所示,其中Dispatcher處RealCall和攔截器之間。 Dispathcer

原创 每日設計模式之開放-封閉原則

開放封閉原則是指軟件實體(類、模塊、函數等)應該可以擴展,但是不可以修改。 也就是說對擴展是開放的,對修改時關閉的! 在最初設計時,假設變化不會發生,然而當變化發生時,我們就創建抽象來隔離以後發生的同類變化。 也就是說,當

原创 每日設計模式之簡單工廠模式

簡單工廠模式說白了就是把類的實例化封裝到一個類的靜態方法裏面,通過傳遞給這個類的靜態方法不同的參數,從而得到不同的實例。 簡言之,就是一個用於加工生產各種對象的類。只需要通過傳遞參數就能得到相應的對象。 簡單工廠模式是屬於創建

原创 每日設計模式之單一職責原則

就一個類而言,應該僅有一個引起它變化的原因。 所謂職責就是引起類變化的原因,如果一個類有多餘一個引起它變化的職責時,這是就違背了單一職責。說白了就是,一個類或模塊應該有且只有一個引起它改變的原因。 在軟件設計的過程中,我

原创 spring data jpa

JPA是Java Persistence API的簡稱,中文名Java持久層API,是JDK 5.0註解或XML描述對象-關係表的映射關係,並將運行期的實體對象持久化到數據庫中。 對於基本的curd操作我們都可以使用jp

原创 每日設計模式之代理模式

爲其他對象提供一種代理以控制對這個對象的訪問。 代理模式: 代理和被代理的對象有着相同的行爲,而被代理的對象通過和代理實現(合成)組合的關係,然後通過代理展示相應的行爲。 下面給出代碼示例(代碼取至維基百科): 代

原创 每日設計模式之里氏代換原則

里氏代換原則:子類型必須能夠替換掉他們的父類型。說白了就是子類型替換掉父類型後,系統的行爲不會發生變化。也就是說,只有當子類可以替換掉父類,軟件單位的功能不受影響時,父類才能被真正的複用,而子類也能夠在父類的基礎上增加新的行爲。

原创 Spring IoC容器之BeanFactory底層實現代碼解析(一)

Spring IoC容器是一個提供IoC支持的輕量級容器,除了基本的IoC支持,它作爲輕量級容器還提供了IoC之外的支持。如在Spring的IoC容器之上,Spring還提供了相應的AOP框架支持、企業級服務集成等服務。Spri

原创 每日設計模式之依賴倒轉原則

高層次模塊不應該依賴於低層次模塊,兩個都應該依賴於抽象。 抽象不應該依賴於具體實現,而具體實現必須依賴於抽象。 也就是我們常說的“強內聚、低耦合”。 在傳統的面向過程開發中,高層模塊調用低層模塊,高層模塊依賴於低層

原创 哈希表

在折半查找、二叉排序樹查找、B-樹查找中,他們的查找效率都依賴於查找過程中所進行的比較次數。 哈希表也稱爲散列表。 哈希表簡單地表述就是每個關鍵字通過哈希函數得到的唯一的值所組成的表。 它是根據關鍵碼值而直接進行訪問的數據