原创 【創建型模式】單例模式

方式7種 餓漢式(靜態變量) 優勢: 簡單易寫 線程安全 劣勢:浪費內存空間,只要類進行了加載,即使不使用對應的實例,也會進行加載 /** - 餓漢式 靜態變量 */ class MySingleton {

原创 【創建型設計模式】工廠模式

文章目錄前言(一些廢話,可以忽略)簡單工廠模式工廠方法模式抽象工廠模式其他類總結 前言(一些廢話,可以忽略) 工廠模式是非常重要的一種設計模式,相比單例模式來說,更有結構上的設計,有思想上深一層的東西,但是和跟複雜的模式相比,其

原创 【結構型模式】外觀模式

文章目錄前言(一些廢話,可以忽略)解決實際問題外觀模式提高問題的擴展性總結 前言(一些廢話,可以忽略) 外觀模式,比較簡單也好理解,就是給一個東西一個外觀,將其封裝起來 這裏當然也會用到我們的組合 PS.部分類實現見文末 解決

原创 【創建型設計模式】建造模式

文章目錄前言(一些廢話,可以忽略)解決建房子的問題普通的建造者模式變形的建造者模式總結 前言(一些廢話,可以忽略) 這是最後一種創建型設計模式,見名知義,我們需要建造一些東西,這些東西的流程都是一樣的,這樣就可以進行抽象,依賴抽

原创 【設計模式】設計模式原則

代碼的重用性:相同功能的代碼,不用多次編寫 可讀性:編程的規範性,便於其他程序員的閱讀和理解 可擴展性:當我們需要增加新的功能是,非常的方便 可靠性:當我們增加新的功能後,對員原來的功能沒有影響 使程序呈現高內

原创 【尚硅谷mysql筆記】2.索引優化

基於MySQL5.5 性能下降SQL慢 查詢語句的問題 索引失效 單值索引 符合索引 關聯查詢太多的join(設計缺陷或不得已的需求) 服務器及各個參數設置(緩衝,線程數) Join查詢 SQL執行順序 SQL解析

原创 【結構型模式】組合模式

文章目錄前言(一些廢話,可以忽略)要解決的問題組合模式總結附錄代碼 前言(一些廢話,可以忽略) 組合模式,是我們依賴關係中的一種,在這裏又變換成爲一種設計模式,那麼它的核心肯定也是將類與類通過組合的方式拼湊在一起了 PS.部分類

原创 【結構型模式】適配器模式

文章目錄前言(一些廢話,可以忽略)要解決的問題基於類的適配器模式基於對象的適配器模式基於接口的適配器模式總結 前言(一些廢話,可以忽略) 4種創建型模式就已經梳理完了,總的來說還是很簡單,只要把握住核心思想,代碼這種具象的東西都

原创 【尚硅谷mysql筆記】3.查詢截取分析

基於MySQL5.5 SQL優化 SQL優化步驟 上線後觀察SQL,等待SQL跑一天,查看生產上慢SQL的執行情況 開啓慢查詢日誌,設置閾值,比如超過5秒的就是慢SQL,將其抓取出來 explain+慢SQL進行分析 show

原创 【結構型模式】裝飾者模式

文章目錄前言(一些廢話,可以忽略)解決一個問題裝飾者模式總結 前言(一些廢話,可以忽略) 又是一個通過聚合方式來展現設計模式思想的一個典型案例,直接進入正題 PS.部分類實現見文末 解決一個問題 咖啡店點咖啡,如果我們要一份

原创 【創建型設計模式】原型模式

文章目錄前言(一些廢話,可以忽略)要解決的問題淺拷貝原型模式使用clone的深拷貝基於序列化的深拷貝總結 前言(一些廢話,可以忽略) 同樣是創建型的設計模式,這種模式與工廠模式相比,結構更爲簡單,也更好理解,直接進入正題 PS.

原创 【java虛擬機】jvisualvm連接遠程jvm

使用JMX連接 第一步:配置 cd ${JAVA_HOME}/jre/lib/management/ cp jmxremote.password.template jmxremote.password sudo vi jmxremote.

原创 【學習筆記-併發編程實戰】第6章 任務執行

在線程中執行任務 以任務執行爲結構的應用程序設計的關鍵是找出清晰的任務邊界,大多數服務器應用程序都是以獨立的客戶請求爲界。 串行的執行任務 一種串行的web服務器,接受請求和提供服務都在同一線程中,這種串行的方式無法提供高吞吐率或快速響應

原创 【學習筆記-併發編程實戰】第5章 基礎構建模塊

同步容器類 將狀態封裝起來,對公共方法都進行同步,確保一次只有一個線程可是訪問容器。 同步容器類的問題 在組合同步容器如Vector時,如果發佈含有Vector的複合操作,多個複合操作可能不會有線程安全方面的問題,但是會出現不希望的結果,

原创 【學習筆記-併發編程實戰】第4章 對象的組合

設計線程安全的類 1、構成對象的狀態的變量有哪些 2、構造的這些變量的不變性條件 3、控制管理對象狀態的併發訪問 收集同步需求 什麼情況下需要同步,類中是否有一些不變性條件,後驗條件,施加在狀態及狀態轉換上的各種約束,當然也包含多個狀態之