原创 GitHub更新fork的代碼

1、在本地裝好github客戶端,或者git客戶端 2、clone 自己的fork分支到本地,可以直接使用github客戶端,clone到本地,如果使用命令行,命令爲: git clone https://github.co

原创 Linux,centos環境java啓動關閉重啓shell腳本

#!/usr/bin/env bash INPUT=$2 FILE_PATH=`readlink -f ${INPUT}` SERVICE=${INPUT##*/} SERVICE_NAME=${SERVICE%.*} DEPL

原创 Java實現MD5算法

MD5算法工具類 import java.security.MessageDigest; /** 加密工具 * * @author 劉彥青 * **/ public class EncryptUtil { /*

原创 java中的線程&創建線程的三種方式

java語言裏的線程本質上就是操作系統的線程,他們是一 一對應的 線程生命週期 線程狀態轉換圖—— 五態模型 初始狀態: 線程已經被創建,但是還沒有分配CPU執行。 這個狀態屬於編程語言特有的,不過這裏所謂的被創建,僅僅時在

原创 如何實現冪等性

什麼是冪等 冪等本來是數學上的概念,它的定義是這樣的: 如果一個函數 f(x) 滿足:f(f(x)) = f(x),則函數 f(x) 滿足冪等性。比如,求絕對值的函數,abs(x) = abs(abs(x))。 在計算機領域用來

原创 gti解決pull代碼衝突

場景: pull代碼後衝突: 解決衝突後提交代碼報錯: 執行 commit報錯: error: Committing is not possible because you have unmerged files. hint:

原创 java實現分佈式事務的三種方案

問題描述: 用戶支付完成會將支付狀態及訂單狀態保存在訂單數據庫中,由訂單服務去維護訂單數據庫。由庫存服務去維護庫存數據庫的信息。下圖是系統結構圖: 如何實現兩個分佈式服務(訂單服務、庫存服務)共同完成一件事即訂單支付成功自動自動

原创 springboot實現AOP切面編程

概述 AOP(Aspect Oriented Programming) 即面向切面編程。面向切面是面向對象中的一種方式而已。在代碼執行過程中,動態嵌入其他代碼,叫做面向切面編程(將交叉業務邏輯封裝成成切面,利用AOP功能將切面織入

原创 SpringBoot的自動配置原理(質量不高)

一、SpringBoot的自動配置原理 SpringBoot 的自動化配置讓我們的開發徹底遠離了 Spring 繁瑣的各種配置,讓我們專注於開發,但是SpringBoot 的自動化配置是怎麼實現的呢?下面爲你揭開 SpringBo

原创 什麼是緩存穿透、緩存擊穿、緩存雪崩以及怎麼解決

緩存穿透: 描述 一般的緩存系統,都是按照key去緩存查詢,如果不存在對應的value,就應該去數據庫查詢。一些惡意的請求會故意大量查詢不存在的key,就會對數據庫造成很大的壓力。這就叫做緩存穿透。 簡單的說就是故意避開緩存去

原创 親手實現一個springboot默認配置&起步加載

實現 一、創建springboot項目引入spring-boot-dependencies依賴 <dependency> <groupId>org.springframework.boot</groupId> <a

原创 tkMyBatis配置新增返回主鍵

這兩個參數都要配

原创 Docker(1)——CentOS7.x環境下安裝Docker以及常用命令

在centos中安裝docker Docker官方建議在Ubuntu中安裝,因爲Docker是基於Ubuntu發佈的,而且一般Docker出現的問題Ubuntu是最先更新或者打補丁的。在很多版本的CentOS中是不支持更新最新的一

原创 SpringBoot的自動配置原理

一、SpringBoot的自動配置原理 SpringBoot 的自動化配置讓我們的開發徹底遠離了 Spring 繁瑣的各種配置,讓我們專注於開發,但是SpringBoot 的自動化配置是怎麼實現的呢?下面爲你揭開 SpringBo

原创 如何處理消息隊列消費過程中的重複消息

在 MQTT 協議中,給出了三種傳遞消息時能夠提供的服務質量標準,這三種服務質量從低到高依次是: At most once: 至多一次。消息在傳遞時,最多會被送達一次。換一個說法就是,沒什麼消息可靠性保證,允許丟消息。一般都是一