原创 java設計模式-責任鏈模式

什麼是責任鏈模式: 將請求同一類資源的請求對象練成一條鏈,所提交的請求到某一個鏈節,如果該鏈節能處理則不必要往下傳,不然則繼續傳到下一個對象鏈接去處理。 開發中常見的場景: 1.springmvc的攔截器 2.java中,異

原创 java設計模式-適配器模式

使用場景: 原有的接口不適合需求,需要增加新的接口來滿足需求,在不修改原有接口的情況下,使用一個適配器,將原有的接口進行轉化,轉成客戶所需要的類或接口 在JDK使用: java.io.InputStreamReader(Inp

原创 java設計模式-代理模式(靜態代理,動態代理)

什麼是代理模式: 代理模式類似於買房中介,買房的一些繁雜過程你可以找人幫你代理,你直接付錢入住就行,也類是於明星的經紀人,什麼籤合同,免談之類的事情就它讓你搞定,你只需要演戲就行。 代理的架構如下: 其中代理,必須要有一個引用

原创 java jvm-自定義類加載器

除了可以用系統默認的類加載器,我們還可以用實現自己的類加載器,類加載器實現步驟如下: 1.定義一個類繼承ClassLoader 2.重寫findClass方法,用來查找具體的類字節碼 3.實例化自定義的類加載器,調用loadC

原创 java動態編程-操作字節碼

若想在運行時,動態編輯和創建類,通常有倆種方法 1.動態編譯一個類,動態編譯可以參考http://blog.csdn.net/yingxiake/article/details/51487730還有http://blog.csd

原创 java動態編程-動態編譯機制

java可以在運行時,進行動態編譯,也就是說,可以在代碼中,由程序控制進行編譯 倆種動態編譯方法: 1.執行cmd命令,調用javac進行編譯 2.利用java提供的JavaComplier 3.可以利用類加載器還有java

原创 java設計模式-原型模式(淺複製,深複製)

使用場景: 多次創建重複的類,每個類又需要非常繁瑣的數據準備和訪問權限。 原型模式類似用new創建出來的類,但又不new的類,new出來的類屬性都是默認值,而用原型模式克隆出來的類,屬性都和原對象一樣。原型模式的優點是複製類效率

原创 java動態編程-Rhino腳本引擎

java 6.0提供一些標準接口來操作腳本語言,它讓java有能力在代碼中,動態的執行腳本語言,接口的實現就由第三方來實現。Rhino引擎是一個實現javascript腳本接口的第三方實現,java6.0之後,默認引入,作爲jav

原创 java jvm-類加載器層級結構

類加載器由上到下有引導類加載器,繼承類加載器,應用程序加載器,你還可以自己自定義加載器。 類加載器在加載類的時候,採用的是代理模式,具體代理是雙親代理模式 這裏systemout輸出的是“123”,爲什麼kkk.toStrin

原创 java設計模式-中介者模式

什麼是中介者模式: 如果一個對象系統中,各個子對象都要相互交互,形成了網狀結構,這時候,我們可以定義一個對象,各個子系統的處理和交互都交給它,由它統一調度。 開發中使用的中介者模式: 1.mvc架構中的c,需要同時和m和v打

原创 java設計模式-裝飾模式

什麼是裝飾模式: 裝飾模式就是動態的爲一個對象添加新的功能,它是一種代替繼承的技術,毋須通過繼承增加子類就能拓展對象功能的模式。 開發中應用場景: 1.IO流中,設計的輸入和輸出 2.Servlet api提供的一個re

原创 java設計模式-外觀模式

什麼是外觀模式: 外觀模式其實就是封裝,爲子系統封裝對外的一個接口,屏蔽內部複雜的操作,例如,我們要註冊一家公司,我們可以找代理註冊公司的機構,讓它爲我們處理註冊所有的細節,而我們只需要面對註冊公司處理流程就行。 開發中外觀模式

原创 java設計模式-享元模式

什麼是享元模式: 爲了節省內存,共享一個對象,提供內存使用率,享元模式的關鍵在於區分共享的內部狀態和非共享的外部狀態。 開發中常見的享元模式場景: 1.JDBC連接池,線程池 2.java String類的設計 享元模式例子

原创 java設計模式-模板方法(方法回調,鉤子函數)

什麼叫模版方法模式: 模版方法其實就是父類定義了一整套的骨架流程,而其中的某些方法,需要子類來完成,這樣子的好處是,方法流程已經定義好,子類要做的事情就是按着流程和模版自己寫實現。 開發中的模版方法模式: 1.spring d

原创 mycat實現mysql讀寫分離,熱切換,集羣

在互聯網時代,實現mysql讀寫分離,熱切換,集羣能大大提高mysql數據庫訪問壓力,防止數據丟失,使用mycat能幫我們實現這些。我們要實現的是這種架構。 1、Mycat能實現數據庫的垂直切分和水平切分,這裏用戶寫數據的時候,通過my