原创 索引的基礎使用

索引: 分類: 功能邏輯:普通索引、唯一索引、主鍵索引、全文索引 物理實現方式:聚簇索引,非聚簇索引 作用字段個數:單列索引,聯合索引 索引創建: --主鍵索引 CREATE TABLE dept( dept_id INT PRIMAR

原创 服務器之Apollo單機部署(快速安裝)

部署Apollo apollo單機部署(快速安裝) Apollo官網:https://www.apolloconfig.com/#/zh/deployment/quick-start-docker 官網單機部署的方式分爲兩種:普通部署和do

原创 路由組件構建方案(分庫分表)V1

路由組件構建方案V1 實現效果:通過註解實現數據分散到不同庫不同表的操作。 實現主要以下幾部分: 數據源的配置和加載 數據源的動態切換 切點設置以及數據攔截 數據的插入 涉及的知識點: 分庫分表相關概念 散列算法 數據源的切換 AOP

原创 模板、策略以及工廠模式

記錄學習過程中的問題,實操總結,方便回顧。 模板方法 屬於行爲設計模式; 在父類中定義一個算法的框架,允許子類在不修改結果的情況下重寫算法的特定步驟。 應用場景:當多個產品中的某一功能的處理重複,那麼我們可以將重複的流程單獨做成類方法(

原创 線程重用問題--ThreadLocal數據錯亂

前言 復現Java業務開發常見錯誤100例--1 項目完整代碼:Github地址 知識點回顧: ThreadLocal的定義和使用: ThreadLocal概念以及使用場景 配置文件的讀取: 獲取配置文件中的key和value; 創

原创 Kettle需求場景復現

前置說明 遍歷文件夾下的文件,讀取所有的sheet頁(指定的sheet)落庫 讀取execl文件和csv文件,獲得文件中sheet/csv數據,進行落庫,並增加字段實現更新; 如果execl中存在兩個標題,將標題一進行行轉列並進行字段的添

原创 4年博主寫博客的折騰之路

4年博主寫博客的折騰之路 一千個人眼中有一千個哈姆雷特,選擇自己喜歡的就好!以下全是個人的感受,不喜勿噴。 導讀 截止到2022年6月12日,個人寫博客已經4年。 今天突然想聊聊這四年來我寫博客所使用的各種網站和工具。 在博客編寫上所

原创 全局鎖、表鎖、行鎖

全局鎖、表鎖和行鎖 MySQL45講基礎篇:根據加鎖的範圍,MySQL裏面的鎖大致分爲全局鎖、表鎖、行鎖三類 全局鎖 實現:對整個數據庫實例進行加鎖,使用FTWRL. Flush table with read lock 效果:整個庫

原创 一條更新SQL的內部執行及日誌模塊

一條更新SQL的內部執行 學習MySQL實戰45講,非常推薦學 還是老圖: 上文複習 在執行查詢語句的時候,會執行連接器(總要連上才能搞事情),然後去查詢緩存(MySQL8+刪除了),有數據返回,沒數據進行分析器-優化器-執行器-執行引

原创 一條Sql的執行過程

一條sql內部是如何執行的: 學習MySQL實戰45專欄 sql中的內部執行圖: 可以分爲兩部分:server和存儲引擎 server層包含: 連接器、分析器、優化器、執行器,涵蓋了MySQL大多數核心服務功能,以及所有的內置函數(

原创 關於Synchronized你瞭解多少?

1.說一說自己對於 synchronized 關鍵字的瞭解 synchronized是解決多線程之間訪問資源的同步性,synchronized關鍵字可以保證被他修飾的資源在任何時刻只有一個線程訪問。 在Java6之前,synchronize

原创 擴容新生代爲什麼能夠提高GC的效率

擴容新生代爲什麼能夠提高GC的效率 該文章默認讀者對JVM的基礎有所瞭解 在學習JVM的時候,遇到了個人感覺比較有意思的問題,通過視頻學習整理了一下。 先來上圖: 大部分情況下,對象都會進入Eden區進行分配,當該空間滿了以後,進行輕

原创 JUC之文章整理以及彙總

JUC文章彙總 JUC部分將學習《JUC併發編程的藝術》和《尚硅谷-大廠必備技術之JUC併發編程》進行博客的整理,各文章中也會不斷的完善和豐富。 JUC概述 JUC的視頻學習和JUC併發編程的藝術閱讀片段 JUC之Lock接口以

原创 JUC之Fork/Join框架

Fork/Join框架和異步 定義: Fork/Join框架是Java 7提供的一個用於並行執行任務的框架,是一個把大任務分割成若干個小任務,最終彙總每個小任務結果後得到大任務結果的框架。類似於遞歸或者分而治之的思想。 引用《Java併發編

原创 JUC之線程池的實現原理以及拒絕策略

線程池實現原理 向線程池提交任務後,線程池如何來處理這個任務,之前我們瞭解了7個參數,我們通過這些參數來串聯其線程池的實現原理。 1、在創建了線程池後,開始等待請求 2、當調用execute()方法添加請求任務時: 如果正在運行的線程