原创 我的架構夢:(二)MyBatis的一級、二級、分佈式緩存的應用以及源碼分析

mybatis的一級、二級、分佈式緩存的應用以及源碼分析一、mybatis緩存二、一級緩存三、一級緩存源碼分析四、二級緩存五、二級緩存整合redis六、二級緩存整合redis源碼分析 一、mybatis緩存 緩存就是內存中的數據,

原创 我的架構夢:(一)手寫MyBatis框架

手寫mybatis框架一、前言二、JDBC問題分析三、自定義框架實現四、自定義框架優化五、代碼倉庫 一、前言 在手寫mybatis框架之前 ,我們先來思考一下這個問題:爲啥要有mybatis框架存在?它是爲了解決什麼問題的?我們帶

原创 我的架構夢:(一)手寫mybatis框架

手寫mybatis框架一、前言二、JDBC問題分析三、自定義框架實現四、自定義框架優化五、代碼倉庫 一、前言 在手寫mybatis框架之前 ,我們先來思考一下這個問題:爲啥要有mybatis框架存在?它是爲了解決什麼問題的?我們帶

原创 SpringBoot項目中定時任務刪除時間大於30天的文件及文件夾

1、首先要先寫定時任務,之前有一篇寫過定時任務的文章,沒有看的可以點擊下面的鏈接看一下: SpringBoot項目中集成Quartz實現定時調度任務 定時任務編寫好了,剩下的就簡單了。 2、編寫刪除時間大於30天的文件及文件夾的方

原创 數據結構與算法分析:(十六) 平衡二叉樹

一、前言 前面我們講了二叉樹以及二叉查找樹,沒有看的可以點擊下面的鏈接看一下: 數據結構與算法分析:(十四) 二叉樹 數據結構與算法分析:(十五) 二叉查找樹 看完前兩篇,今天的平衡二叉樹就如魚得水一般了。下面我們就進入正題了。

原创 Java編寫HBase客戶端

話不多說,直接看代碼。 package com.riemann.springbootdemo.util; import org.apache.hadoop.hbase.TableName; import org.apache.h

原创 史上最全 SpringBoot 註解詳解

一、註解(annotations)列表 1、@SpringBootApplication 包含了@ComponentScan、@Configuration和@EnableAutoConfiguration註解。 其中@Compon

原创 Redis如何批量刪除指定模式鍵的值

今天有一個小功能點是關於批量刪除redis指定的鍵。我以爲幾分鐘既可以搞定的事情,沒想到花了我一個鐘的時間。 比如我redis存的鍵是: {imei}l:topic {imei}l:title {imei}l:tag {imei

原创 數據結構與算法分析:(十五) 二叉查找樹

上一篇我們學了樹、二叉樹以及二叉樹的遍歷。請戳:數據結構與算法分析:(十四) 二叉樹 二叉樹的種類各種各樣,這一篇我們主要來講二叉查找樹。二叉查找樹最大的特點就是,支持動態數據集合的快速插入、刪除、查找操作。 一、二叉查找樹(Bi

原创 數據結構與算法分析:(十四) 二叉樹

一、前言 前面我們講了都是線性表結構,比如:數組、鏈表、棧、隊列等。今天我們終於可以講一講樹了,樹是非線性結構。 我們都知道,對於大量的輸入數據,鏈表的線性訪問太慢,不宜使用。我們今天講的樹,其大部分操作的運行時間平均爲 O(lo

原创 Mac中iTerm2連不上阿里雲服務器暨Permission denied (publickey,gssapi-keyex,gssapi-with-mic)的解決方法

一、前言 博主前些天買了一部Mac Pro,裝完常用的開發軟件後,立馬就想連一下我的阿里雲服務器。然後我就想下個XShell,然後竟然發現Mac居然沒有,太不科學了,這麼好的一款軟件,爲啥開發者沒有適配相應的Mac系統。然後網上查

原创 數據結構與算法分析:(十一)散列表(上)

文章目錄一、散列表概念二、散列函數三、散列衝突 一、散列表概念 散列表(Hash Table),我們平時叫它哈希(Hash)表。散列表的實現常常叫做散列(hashing)。散列是一種用於以常數平均時間執行插入、刪除和查找的技術。但

原创 手寫Redis客戶端

一、前言 要想手寫Redis客戶端,必須先了解清楚Redis的通信協議是什麼。我的理解就是客戶端與服務端按照雙方約定的規則來進行的編碼方式,客戶端將要發送的命令進行編碼,然後服務端收到後,使用同樣的協議進行解碼,服務端處理完成後,

原创 數據結構與算法分析:(八)如何寫好遞歸代碼?

一、前言 相信大家在真實項目中,很少用遞歸,寧願把這個遞歸代碼改寫成迭代循環的非遞歸寫法。籠統的講,所有的遞歸代碼都可以改寫爲迭代循環的非遞歸寫法。如何做?抽象出遞推公式、初始值和邊界條件,然後用迭代循環實現。爲啥我們寧願改成迭代

原创 INSERT ... ON DUPLICATE KEY UPDATE ... 批量插入與更新(存在則更新,不存在則插入)

一、前言 作爲後臺開發,相信大家在做業務開發時,經常會遇到這樣的場景。那就是數據庫沒有該數據的話就做插入操作,有的話就做更新操作。 方法1:遍歷集合,判斷裏面的對象是否存在 存在則單個update,不存在則單個insert。這樣的