原创 mysql數據存在則更新,不存在則插入新數據解決辦法

我們寫了接口給使用者調用時,有可能會出現數據重複推送的問題,那麼我們就應該判斷數據是否已經推送過,如果對sql不太熟悉的可能會用想到先select count(1)然後根據返回值判斷更新還是插入,但是這種做法會有嚴重的效率問題,還有數據錯

原创 docker solr安裝

下載 solr 默認是最新版本  docker pull solr 查看是否下載成功  docker images   運行solr docker run --name solr -d -p 8983:8983 solr  查

原创 docker solr 創建core

首先我們需要進入solr中 docker exec -it --user root solr /bin/bash  這裏使用root用戶進入,直接進入是solr用戶,因爲需要創建文件 所以使用root用戶進入 下載vim apt-g

原创 《設計模式之禪》-橋樑模式

橋樑模式也叫做橋接模式,是一種比較簡單的模式 定義 將抽象和實現解耦,使得兩者可以獨立地變化 橋樑模式中的4個角色 Abstraction——抽象化角色 它的主要職責是定義出該角色的行爲,同時保存一個隊實現化角色的引用,該角色一般是

原创 《設計模式之禪》-組合模式-1

組合模式比較難理解,所以先看相關例子,本章節代碼較多,需在git下載 這是一個常見的數據庫結構 比較典型的樹狀結構(常見的還有菜單)     一般的做法 CEO我們認爲是根節點 developDep,developGroup,sales

原创 《設計模式之禪》-組合模式3

組合模式有兩種不同的實現方法 1.是透明模式 2,是安全模式  之前的例子是安全模式 其實透明模式就是把用來組合使用的方法放到了抽象類中,比如add(),remove()以及getChildren等方法(一般來說getChildren方

原创 《設計模式之禪》-狀態模式

狀態模式 定義: 當一個對象內在狀態改變時允許其改變行爲,這個對象看起來像改變了其類   狀態模式的核心是封裝,狀態的變更引起了行爲的變更,從外部看起來就好像這個對象對應的類發生了改變一樣   通用類圖 state 抽象狀態角色 接口或

原创 《設計模式之禪》-解釋器模式

解釋器模式是一種按照規定語法進行解析的方案,在現在的項目中使用比較少   定義 給定一門語言,定義它的文法的一種表示,並定義一個解釋器,該解釋器使用該表示來解釋語言中的句子 AbstractExpression 抽象解釋器 具體的解釋

原创 《設計模式之禪》-享元模式的性能平衡

需要下載demo  demo: https://gitee.com/minstrel01/Design-Pattern-demo.git flyweight_pattern 在報考系統中,我們完全可以重新建立一個類作爲外部狀態,這樣才完

原创 《設計模式之禪》-組合模式2

組合模式: 組合模式又稱爲合成模式,有時又叫部分-整體模式是,主要用來描述部分和整體的關係 定義: 將對象組合成樹形結構以表示“部分-整體”的層次結構,使得用戶對單一對象和組合對象的使用具有一致性 組合模式的三個角色 1.Compon

原创 《設計模式之禪》-雙分派的問題

說到訪問者模式就不得不提一下雙分派的問題,什麼是雙分派呢,我們先來解釋一下什麼是單分派和多分派。 根據對象的類型而對方法進行的選擇,就是分派(Dispatch) 分派的類型 一個方法所屬的對象叫做方法的接收者,方法的接收者與方法的參量統稱

原创 《設計模式之禪》-備忘錄模式擴展

clone模式就是配合原型模式,由一個類控制,備忘錄的生產和恢復,由於是一個類包含了所有的功能,所以也不需要中轉類備忘錄管理員角色了 //發起人自主備份和恢復 public class Originator implements Clo

原创 《設計模式之禪》-多狀態的備忘錄模式

一個javabean一般來說會有多個狀態如果用之前的方法,就得寫一大堆備份語句這顯然是不現實也不可取的那麼 我們可以用內省的方法進行bean的屬性備份和還原,我們使用HashMap來進行存儲狀態 發起人(javabean) publi

原创 《設計模式之禪》-適配器模式的擴展

當源角色有多個時,因爲java不支持多繼承,適配器角色則需要使用類關聯的實現方法 目標角色   public interface Target { //目標角色有自己的方法 public String request1(

原创 《設計模式之禪》-享元模式

享元模式是池技術的重要實現方式 定義 使用共享對象可有效地支持大量的細粒度對象   享元模式的定義爲我們提出了兩個要求:細粒度的對象和共享對象 我們知道分配太多的對象到應用程序中將有損程序的性能,同時還容易造成內存溢出那麼怎麼避免呢?那就