原创 fastdfs 數據同步和遷移

最近做了一次fastdfs文件遷移的工作,把操作步驟記錄下來,留給後面做遷移的時候參考。 其中有些細節原理尚不清楚,後續有研究再補充。 舊的 fastdfs(110.119.19.20)我們這麼命名 tracker_old st

原创 Spring cloud服務發現過程

基本使用示例 基礎結構 服務註冊中心 :Eureka提供的服務端,提供服務註冊與發現的功能。 服務提供者:提供服務的應用,可以是Spring boot應用,也可以是其他技術平臺且遵循 Eureka 通信機制的應用。它將自己提供的

原创 觀察者模式 - Head First設計模式學習(一)

有這麼一個需求。 氣象站會發布氣象監測數據,包括(溫度,溼度,氣壓) 需要開發一個應用,從氣象站取得數據,並更新應用的佈告板。 佈告板有三類,分別是顯示當前天氣情況,氣象統計數據,天氣預報。 氣象站提供的數據結構如下,很簡單,

原创 單例模式 - Head First設計模式學習

單例模式是比較簡單的設計模式。直接給出定義就明白了。 單例模式確保一個類只有一個實例,並提供一個全局訪問點 要保證一個類只有一個實例需要做到以下幾點: 私有類構造器,防止別的類直接用類構造器實例化實例 既然構造器私有了,那麼只有

原创 線程掛起和喚醒,Object 的 wait 和 sinal

wait() 和 notify() 顧名思義一個是等待,一個是喚醒。分別表示線程的掛起和喚醒。 兩者都是Object類的方法。 wait() 使用的時候必須注意在 synchronized 的代碼塊裏執行。 因爲執行 wait 函

原创 線程中斷,stop() 和 interrupt()

正常來說線程裏的代碼執行完之後線程就自動中斷了,但是一些處於無線循環當中的線程需要另外通過程序進行中斷。 stop(),顧名思義就是停止線程,但是當前這個api已經被廢棄,不建議使用。 原因是調用 stop() 會立即中斷線程,無

原创 sql 中的 case 表達式

case 表達式的基本用法 case when sex=1 then "男" when sex=2 then "女" else '其他' end 或者 case sex when 1 then "男"

原创 讀寫鎖,ReentrantReadWriteLock

讀寫鎖是爲了減少讀操作的互斥,提高執行效率。 同步具體表現爲 讀讀不互斥 讀寫互斥 寫寫互斥 以下是一個基本的使用示例: package multhread; import java.util.concurrent.lock

原创 線程掛起和喚醒,LockSupport

LockSupport 可以掛起和喚醒線程 park() 和 unpark() 是兩個靜態方法分別表示掛起和喚醒 unpark() 可以執行在 park() 之前。標識這個線程已經做過喚醒操作,線程會直接略過阻塞。 packa

原创 信號量,Semaphore

信號量可以同時允許多個線程進入臨界資源區。 new Semaphore(int permits) //構造函數中指定允許的線程數量 acquire() release() 分別表示獲取信號量准許和釋放准許 public cla

原创 spring實現數據庫的自動切換

我們要實現的是多個數據庫之間的自動切換,因此面臨的主要問題就是: 數據源是否有效的檢測 程序中切換使用的數據庫 數據源的有效檢測方法: ​ 單開一條線程,間斷的發送一條命令執行,如果執行成功則認爲數據庫有效,不成功則認

原创 spring實現數據庫的自動切換

spring實現數據庫的自動切換 我們要實現的是多個數據庫之間的自動切換,因此面臨的主要問題就是: 數據源是否有效的檢測 程序中切換使用的數據庫 數據源的有效檢測方法: ​ 單開一條線程,間斷的發送一條命令執行,如果執

原创 重入鎖,ReentrantLock 和 Condition 的使用

重入鎖 ReentrantLock 主要特點: 容易控制加鎖的粒度。lock unlock 等待鎖的過程當中可以響應中斷,lockInterruptibly 可以有限時間內嘗試獲取鎖, tryLock 公平鎖,儘量保證各個線程獲

原创 等待線程結束 join 和謙讓 yield

join 表示當前線程要等待目標線程執行結束,然後繼續執行當前線程。 join有兩個api.分別是 //無限等待 public final void join() throws InterruptedException //設置

原创 egg 學習與分享

egg 學習與分享 什麼是 egg egg.js是基於koa爲底層,由阿里nodejs團隊封裝的企業級Web應用解決方案,以約束和規範化團隊開發,幫助開 發團隊和開發人員降低開發和維護成本爲核心設計理念的優秀解決方案。 官方文檔地