原创 靜態代理 動態代理 總結

什麼是代理模式(Proxy Pattern) 使用代理對象來執行目標對象,並且可以在不改原代碼的情況下,增強一些功能。 代理模式分爲靜態代理和動態代理。 靜態代理 一個代理目標會對應一個代理類 動態代理 通過Java的反射,動態去爲目標

原创 TCP/IP總結

網絡分層: 第一層 鏈路層:負責底層網絡,比如wifi,以太網這樣底層網絡發發送原始數據。工作在網卡這個層級,使用mac地址來標記設備。所以也叫mac層 第二層 網際層 ip協議在這個層級。因爲ip協議定義了“ip地址概念”,所以可以用i

原创 《第二講 一條更新sql是如何執行的》-讀書筆記

一條更新語句的執行跟查詢執行的流程是一樣的,也是如下圖: 不一樣的地方,會寫兩個日誌,兩段式提交: redo log:在innodb寫,通過creach-safe模式寫。 bin log:在service寫,任何引擎都可以用,mysql

原创 《第一講 一條查詢sql是如何執行的》-讀書筆記

Myqsl的結構如下: 連接器:負責進行鑑權,當進行數據庫連接時,會進入連接器進行鑑權。 解析器:對sql進行解析,如果sql不準確,將會在這層拋出異常。如果開啓了緩存,將進行緩存查詢。 優化器:sql將會進行優化,比如確認join的鏈

原创 模板模式(Template Pattern)

定義 定義一個操作中算法的骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變算法的結構即可重定義該算法的某些特定步驟。 實現: AbstractTemplate類定義一個算法,將 abstarctMethod 和 hookMet

原创 多線程學習五 比讀寫鎖更快的鎖-StampedLock

StampedLock 支持三種模式:寫鎖,悲觀讀,樂觀讀 StampedLock 比ReadWriteLock性能好的原因是支持樂觀讀。 readwritelock支持多線程讀,但是進行寫的時候,所有讀都被阻塞。而stampedlock