原创 ThreadPoolExcutor 線程池
昨天在查看項目時,偶爾看到代碼裏通過靜態代碼塊實現的單例模式的線程池,如下: public static final ThreadPoolExecutor threadPool; static { int nCpu =
原创 RocketMQ消費重試問題
異常現象 監控日誌展示如下: [2019-10-30 14:31:23.339 INFO ] [ConsumeMessageThread_7] (com.xxx.service.mq.MQConsumerService:93) -
原创 mysql ONLY_FULL_GROUP_BY
背景 select user_id, max(create_time) as create_time,is_success from user_login_log group by user_id 上面的sql與上篇博文一
原创 mysql排序不穩定問題
現象 當order by中的列具有相同的值時,每次查詢到的順序存在不一致的現象,如下: 類似的,在分頁排序中,有的數據會在頁面連續出現多次,有的數據則在數據中一次也不能出現。 爲什麼會出現此現象 PageHelper首先將前端
原创 優化網站性能必備的6種架構方案
前言 一個成熟的大型網站(如淘寶、天貓、騰訊等)的系統架構並不是一開始設計時就具備完整的高性能、高可用、高伸縮等特性的,它是隨着用戶量的增加,業務功能的擴展逐漸演變完善的,在這個過程中,開發模式、技術架構、設計思想也發生了
原创 Spring線程池ThreadPoolTaskExecutor
配置 <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 核心線程數
原创 文件操作(文件過濾,壓縮,導出到excel等)
文件過濾 通過實現文件名過濾器FilenameFilter,過濾指定的文件列表 //根據後綴名過濾文件列表 public class FolderFilter implements FilenameFilter { pri
原创 以map接收數據庫中查詢到的多行結果
通常在數據庫查詢返回多行結果時,會以list形式來接收。但遍歷list畢竟麻煩且耗時,不如直接返回map處理起來簡單。 jdbc形式 代碼如下: Map<String, Map<String, Object>> map=n
原创 單例模式
概念 單例模式(Singleton Pattern)屬於創建型模式。通過單例模式的方法創建的類在一個JVM中只有一個實例。該類負責創建自己的對象,同時確保只有一個對象被創建。這個類提供了一種訪問其唯一的對象的方式,可以直接訪問,不
原创 枚舉
/* * 可以把 enum 看成是一個普通的 class,它們都可以定義一些屬性和方法, * 不同之處是:enum 不能使用 extends 關鍵字繼承其他類,因爲 enum 已經繼承了 java.lang.Enum。 */
原创 IO流
Java流類圖結構: 流是一組有順序的,有起點和終點的字節集合,是對數據傳輸的總稱或抽象。即數據在兩設備間的傳輸稱爲流,流的本質是數據傳輸,根據數據傳輸特性將流抽象爲各種類,方便更直觀的進行數據操作。 流的分類: 1.
原创 java對象拷貝
項目中經常會遇到兩個對象之間的拷貝,如果使用set/get方法,則會造成大量代碼堆積,而且每次改動對象,又要改動相應的代碼。 而利用BeanUtils在對象間複製屬性,僅一行代碼,就可以得到相同的結果。 import org.a
原创 mysql派生表合併
前幾天筆者在CR一段sql時,發現一處邏輯問題,原sql如下: select user_id, max(create_time) as create_time,is_success from user_login_log g
原创 Git 常用命令總結
詳細教程請參考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ //查看當前用戶 git config user.
原创 Linux 常用命令總結
詳情請參考:http://linux.vbird.org/ 鳥哥的linux私房菜 幫助與環境設定 uname-a 查看版本信息 tab 補充信息|補全命令 man command 查詢指令信息 su -username