原创 date/datetime/timestamp查詢實戰

按時間範圍查詢,你一定糾結過開始時間和結束時間要不要格式化爲00:00:00和23:59:59,也一定糾結過數據庫的時間是按照什麼類型比較的,between and可以用嗎?反正我是糾結過,但是自己模擬一下不就清楚了嗎? 數據庫時

原创 InnoDB大批量數據導入導出

InnoDB大批量導出導入數據 使用 infile 和 outfile 代替 mysqldump,因爲 mysqldump 會導出大量的表結構語句 outfile導出數據 # 導出數據文件後綴可以自己定義 # 通過 field

原创 Spring延時初始化RocketMQ消費者

Spring加載RocketMq消費者實例後會立即開始消費,不論Spring容器是否初始化完畢。這就意味着如果Spring容器由於某種原因導致容器初始化失敗,但應用程序沒有因爲容器初始化失敗而關閉,那麼會出現不可預期的後果,例如S

原创 覆蓋索引的應用案例

通常情況下,我們都會根據where條件來創建合適的索引,這是索引優化的一個方面,但數據庫通過索引查詢數據後要不要回表查詢,這也是索引優化的方面,也就是說MySQL通過索引查數據時,索引的葉子節點上已經包含要查詢的數據,這樣就不需要

原创 Nginx指令add_header和proxy_set_header的區別

如何理解反向代理? Nginx是反向代理服務器,我們可以從下面的圖來理解爲什麼是反向代理。以Nginx爲中心,數據的流向是從Server到Nginx再到Client,注意我說的是數據(響應數據),而不是請求。我們都知道水流一定是從

原创 MySQL常見死鎖及解決方案

批量更新,使用in導致的死鎖 批量更新數據時,我猜你會使用in關鍵字,這種批量更新,可能會導致MySQL死鎖,爲什麼?因爲間隙鎖的問題,導致間隙鎖的範圍會重疊。 解決方案:使用INSERT INTO ... VALUES ..

原创 JVM之類的初始化時機和過程

類從被加載到JVM中開始,到卸載出內存爲止,它的這個生命週期包括:加載、驗證、準備、解析、初始化、使用和卸載7個階段,其中加載、驗證、準備、解析、初始化是類加載的過程。本章內容是類的初始化階段。 初始化時機 遇到new、gets

原创 Disconf自動加載單個或多個配置項並自定義解析配置項

disconf加載配置項,分爲xml配置和註解掃描,本博客將一下怎麼使用註解掃描的方式,實現單個配置項的加載及自定義解析配置項。 disconf.properties配置文件 version=0.0.0 app=commons-c

原创 Spring Aop根據參數名稱獲取參數的值(JoinPoint根據參數名獲取參數的值)

import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.aspectj.lang.Pr

原创 JVM之創建對象的過程

普通對象的創建過程(不包括數組和Class對象) JVM遇到new、克隆、反序列化指令 檢查指令的參數是否能在常量池中定位到這個類的符號引用,並檢查這個類是否已經執行相應的類加載的過程(加載、驗證、準備、解析、初始化)。準備階段

原创 Redis的setnx命令如何設置key的失效時間(同時操作setnx和expire)

Redis的setnx命令是當key不存在時設置key,但setnx不能同時完成expire設置失效時長,不能保證setnx和expire的原子性。我們可以使用set命令完成setnx和expire的操作,並且這種操作是原子操作。

原创 DruidDataSource初始化成功後程序日誌不再打印,程序停滯

環境:Spring + Druid + Mybatis 異常情況:dataSource初始化成功後,程序仍然是運行狀態,日誌不再打印,並且沒有任務異常信息打印 爲什麼出現這種情況?如何去發現哪裏出現了異常? 出現這種情況的原因有

原创 Controller接收HttpClient發送的Json數據

@RequestMapping("/test") @ResponseBody public Object test(HttpServletRequest request) { StringBuffer sb = new S

原创 Java基於CountDownLatch的持續測試併發工具類

優化之前的一篇博客點這裏,持續測試併發。 public abstract class AbstractConcurrentControl { public AtomicLong longCounter = new Ato

原创 Java模擬http請求調用自定義服務器並響應JSON數據

引入 com.alibaba.fastjson.JSON 依賴 自定義服務器 響應JSON數據 需要引入 com.alibaba.fastjson.JSON的依賴 import com.alibaba.fastjson.JSON;