原创 MyBatis, MyBatis-Spring 常用訪問數據庫的方式

一、MyBatis 訪問數據庫的方式 使用 MyBatis 的主要 Java 接口就是 SqlSession,可通過 SqlSessionFactoryBuilder 創建 SqlSession。 文檔:MyBatis 官方文檔

原创 Dubbo SPI之自適應擴展機制 @Adaptive

上一篇介紹了 Dubbo SPI 的基本實現,這篇就介紹下 Dubbo SPI 的自適應擴展機制,對應註解 @Adaptive。 介紹 @Adaptive 定義如下: public @interface Adaptive {

原创 [MyBatis] MySQL like, >=,

like 寫法: `company` like concat('%', #company#, '%') >=, <= 寫法: <select id="searchDate" parameterClass="date" result

原创 [SpringMVC] HTTP 請求與響應過程底層源碼解析

本篇文章主要根據兩種常見的錯誤場景,深入 SpringMVC HTTP 請求與響應過程流程。而整個 SpringMVC HTTP 請求與響應過程涉及的內容遠不止於此,如果讀者對本文未涉及的內容有興趣,歡迎與我交流。 提取主要內容如

原创 [Java] 線程的狀態及轉換

一、線程的狀態簡介 JDK 的線程狀態枚舉類 java.lang.Thread.State ,定義了線程的6種狀態: NEW: 新建線程,尚未調用 thread.start() RUNNABLE: 可在 JVM 中執行,需等待C

原创 [Java] CountDownLatch 模擬高併發

參考: Class CountDownLatch Coordinating threads with CountDownLatch 一、簡介 CountDownLatch 是 java.util.concurrent 包下的一

原创 Dubbo 服務引入

本篇重點關注 Dubbo 服務引入的實現細節。 服務消費配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/X

原创 TreeMap 實現降序原理及Key 是否可以爲 null

一、TreeMap 實現降序排列的原理 TreeMap 底層爲數據結構爲紅黑樹,默認爲升序排序方式。整個紅黑樹的結構爲:根節點值大於所有左子樹節點值,小於所有右子樹節點值,由此整個紅黑樹以深度優先搜索方式遍歷一遍爲從小到大的升序排

原创 Dubbo 服務導出

本篇主要介紹 Dubbo 服務導出的實現細節。 定義服務接口 HelloWorld: public interface HelloWorld { String sayHello(); } 服務實現類 HelloWorld

原创 常用 MySQL 修改表結構命令

一、字段 1、添加字段: alter table `product` add `inventory` int(11) NOT NULL COMMENT '庫存' 添加多個字段:加括號,逗號分隔 alter table `categ

原创 [MySQL] 行級鎖SELECT ... LOCK IN SHARE MODE 和 SELECT ... FOR UPDATE

一、譯文 翻譯來自官方文檔:Locking Reads If you query data and then insert or update related data within the same transaction, t

原创 微信開放平臺與微信公衆平臺簡介

微信開放平臺地址:微信開放平臺 微信公衆平臺地址:微信公衆平臺 一、微信開放平臺常用功能 app: 分享與收藏 微信登錄 微信支付 智能接口(具體參看文檔) 網站: 微信登錄 智能接口(具體參看文檔) 公衆賬號: 消息接

原创 [Spring] 自定義標籤解析

Spring 除了實現了默認的標籤解析,如 <bean>, <beans>, <import>, <alias>,還提供了自定義的標籤解析機制,由用戶實現解析自定義標籤的邏輯,如 Spring 實現的自定義標籤: <aop>, <

原创 [Dubbo] connections 參數

一、用途 爲某個接口創建獨立的連接通道,若未配置該參數,則共享一個連接通道。 二、配置方式 消費者: <dubbo:reference protocol="dubbo" id="demoApi" version="${dubbo.se

原创 [MySQL] 在線 DDL 工具 gh-ost 原理簡介

一、簡介 gh-ost: github 提供的針對 MySQL 無觸發器式在線架構遷移解決方案。 二、原理 目前的在線架構變更工具都使用了類似的方式:創建一個和源表一樣的臨時表,在臨時表執行 DDL 語句,並慢慢的遷移老數據到臨時表,