原创 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