原创 數據庫腳本可重複執行的思考

通常在項目升級迭代過程中會有許多操作數據庫或是同項目發佈需要執行的腳本,當一個全新的項目初始化部署時,可以不需要考慮腳本的重複執行問題,只需要初始腳本即可,但是隨着不斷的迭代,伴隨着越來越多的腳本累積,就可能帶來更多的問題數據,最終導致幾

原创 Sharding-JDBC 讀寫分離實例

環境概覽 框架 版本號 Spring Boot 1.5.12.RELEASE Sharding-JDBC 2.0.3 MyBatis-Plus 2.2.0 前言介紹 Sharding-JDBC是噹噹網的一個開源項目,只需引入jar即可輕鬆

原创 記一次Docker的Mysql主從複製異常

具體錯誤打印: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replicat

原创 基於Docker的Mysql主從複製搭建

爲什麼基於Docker搭建? 資源有限 虛擬機搭建對機器配置有要求,並且安裝mysql步驟繁瑣 一臺機器上可以運行多個Docker容器 Docker容器之間相互獨立,有獨立ip,互不衝突 Docker使用步驟簡便,啓動容器在秒級別 利用D

原创 Redis如何做持久化

RDB(快照)持久化 保存某個時間點的全量數據快照 SAVE:阻塞redis的服務器進程,直到RDB文件被創建完畢 BGSAVE:Fork(創建進程,實現了Copy-On-Write)出一個子進程來創建RDB文件,不阻塞服務器進程 自動化

原创 【多線程】4、notify和notifyall的區別

等待池:         假設線程A調用了某個對象的wait()方法,線程A就會釋放該對象的鎖,同時線程A就進入到了該對象的等待池中,進入到等待池中的線程不會競爭該對象的鎖。 notify和notifyall的區別: notifyAll會

原创 【多線程】3、如何實現處理線程的返回值

初始實例: public class CycleWait implements Runnable { private String value; public static void main(String[] ar

原创 【多線程】2、Thread和Runnable是什麼關係

Thread是一個類,Runnable是一個接口 Thread類實現Runnable接口 Runnable接口僅有一個run()抽象方法,故並無多線程特性,依賴於Thread類的start方法來創建一個子線程,在子線程裏調用Thread實

原创 【多線程】1、進程和線程的區別

進程和線程的由來: 1、串行:初期的計算機智能串行執行任務,並且需要長時間等待用戶輸入 2、批處理:預先將用戶的指令集中成清單,批量串行處理用戶指令仍然無法併發執行 3、進程:進程獨佔內存空間,保存各自運行狀態相互間不干擾並且可以互相切換

原创 Window下Docker安裝RabbitMQ

1、首先將docker環境安裝好,然後去rabbitMQ官網(https://hub.docker.com/_/rabbitmq/)查找對應的版本 2、啓動docker,打開控制檯,輸入命令 docker pull rabbitmq:

原创 靜態方法中調用Spring注入的方法

import org.springframework.beans.factory.annotation.Autowired; import javax.annotation.PostConstruct; public class I

原创 java利用反射獲取對象前後修改的內容(用於日誌記錄)

import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class B

原创 《Spring實戰》bean的生命週期

在傳統的Java應用中,bean的生命週期很簡單。使用Java關鍵字new進行bean實例化,然後該bean就可以使用了。一旦該bean不再被使用,則由Java自動進行垃圾回收。相比之下,Spring容器中的bean的生命週期就顯得相對複

原创 《Spring實戰》使用應用上下文

Spring自帶了多種類型的應用上下文。下面羅列的幾個是你最有可能遇到的: AnnotationConfigApplicationContext:從一個或多個基於Java的配置類中加載Spring應用上下文。 AnnotationConf

原创 ngrok搭建web服務器(內網穿透)

ngrok可以做web服務器,可以做內網穿透,如公司內網外面的網絡不能訪問,這時候就需要到它了。 可以上官網(https://ngrok.com/)或者中文網(http://www.ngrok.cn/)下載ngrok 。 下載解壓後得到這