原创 使用Dockerfile創建自己的docker鏡像

前言 docker理論之類的就不說了,網上一大頓,直接說我們最關心的,就是如何構建我們自己的鏡像 鏡像是 Docker 的基礎,它是容器運行環境的靜態模板,包含了應用以及依賴環境。 製作鏡像步驟如下: 1.準備構建環境: 鏡像構建環境,就

原创 java--簡單工廠設計模式

產品接口 public interface Dota {   public void hero();} 工廠接口 public abstract class DotaFactory {     public abstract Dota h

原创 最安全的單例模式--java使用內部類實現單例模式

實現類 public class Singleton {     private static class LazyHolder {            private static final Singleton INSTANCE =

原创 規則引擎之drools

    drools是一個規則引擎,可以將開發從業務中解放出來,不用重複寫不同的業務、然後測試、上線,只需要將業務規則配置到drl文件,然後每次有新業務需求的時候,只需要改一下配置文件,項目不需要重新上線。drools幫你裝載規則,解析規

原创 使用arthas熱加載

   工作中經常有這種問題:線上有問題,需要排查,但是相關關鍵日誌沒有打印,不好定位問題,這個時候那就修改代碼,再發布一次,然後排查問題,這樣是可行的,但是不利於快速排查問題    之前一直使用阿里的arthas,偶然發現它具備熱加載的功

原创 docker理論方面的東西

上篇寫了docker實踐方面的東西,想想還是補充一下理論方面的吧,也好成爲一個體系,方便學習。 docker可以用運輸業的集裝箱來形象表示,沒有集裝箱之前,貨物運輸是這樣的: 這種情況下,貨物怎麼運輸,哪種運輸工具運送哪種貨物,沒有一個

原创 mysql中的鎖

先區分兩個鎖概念,latch和lock都是鎖,但是 1.latch,屬於輕量級的的鎖,要求鎖定的時間非常短,若時間變長,性能會變差;在InnoDB中,實現分爲mutex(互斥量)和rwlock(讀寫鎖),通常用來保證多線程對臨界資源的訪問

原创 java抽象工廠模式

抽象工廠 public abstract class AbstractFactory {   public abstract Lion createLion();   public abstract LanPang createLanPa

原创 InnoDB行鎖、事務還有死鎖

InnoDB行鎖有3種實現 1.record lock,鎖住單行記錄 2.gap lock,我們熟知的間隙鎖,會鎖住一個範圍,但不包含記錄本身 3.next -key lock,前兩種鎖的聯合使用,不僅鎖定範圍,也鎖定記錄本身。  Inn

原创 Innodb事務種類及實現

innodb事務可以分爲以下幾種: 1.扁平事務    2.帶有保存點的扁平事務    3.鏈事務    4.嵌套事務   5.分佈式事務 各自分別介紹: 1.扁平事務   這是事務中最簡單的一種,也是使用最廣泛的一種。在扁平事務中,所有

原创 innodb併發控制mvcc(多版本併發控制)

   innodb有四種事務隔離機制,read uncommitted、read committed、repeatted read、 serializable,隔離界別依次提高,而且基本靠鎖實現這些隔離級別,但衆所周知,鎖的消耗是很大的。

原创 spring默認標籤解析

   上篇說到對Document的解析,其中的方法並沒有深究,那麼spring究竟是如何解析Document默認標籤的呢? bean標籤的解析    此方法是spring解析默認標籤的實現,裏面有好幾種bean的解析,我們來看最複雜的p

原创 spring bean中子元素lookup-method和replaced-method

    spring bean中有兩個子元素lookup-method和replaced-method,雖然不常用,但覺得很有用,拿出來聊聊。    1.lookup-method    通常稱爲獲取器注入,spring in act

原创 java命令模式

命令模式可以簡化編程 命令接口 public interface Comand {     public void process(String str); } 處理命令接口 public class Process {  public

原创 java設計模式--動態代理

被代理類要實現的接口 public interface Subject {     public void rent();     public void hello(String str);} 實際被代理類 public class R