原创 RabbitMQ幾種工作模式(轉)

RabbitMQ有以下幾種工作模式 : Work queues Publish/Subscribe Routing Topics Header RPC Work queues work queues兩個消費端共同消費同一個隊列中

原创 前端POST請求參數過長,導致400錯誤解決辦法及分析(轉)

遇到在servlet端通過request對象getInputStream讀取POST過來的數據,卻讀不到的問題,懷疑是tomcat的問題。查了一下Content-type是application/x-www-form-urlencod

原创 華爲servicecomb快速上手

Servicecomb介紹 ServiceComb 作爲 Apache 開源組織下的一款微服務框架,其前身爲華爲雲的 微服務引擎 CSE (Cloud Service Engine) 雲服務。它意味着國內一款微服務框架在華爲和 Apa

原创 SpringBoot快速接入HttpClient

spring提供了RestTemplate對象,用於請求http接口。而他的底層需要依賴第三方httpClient工具去實現請求,常見的有ApacheHttpClient、OkHttpClient等。OkHttpClient在使用中性

原创 MongoDB文件存儲GridFS學習

GridFS是MongoDB提供的用於持久化存儲文件的模塊 工作原理: GridFS將文件分塊存儲,文件會按照256KB的大小分割成多個塊進行存儲。GridFS存儲文件用到了兩個collection:一個是chunks,用來存儲分塊文

原创 java全局異常處理

在日常項目中寫代碼時經常會有需要返回錯誤信息的代碼,如下: public Result demo() { Demo demo = demoRepository.getDemo(); if (demo != null)

原创 java sort排序源碼分析(TimSort排序)

入口: default void sort(Comparator<? super E> c) { Object[] a = this.toArray(); Arrays.sort(a, (Comparat

原创 java異常:Comparison method violates its general contract!解決

項目在線上運行時突然出現了幾百封異常郵件,過了一段時間又自動好了。 項目異常報錯信息是 Comparison method violates its general contract 在順着堆棧信息查找下去,發現是sort排序中重寫c

原创 Springboot核心註解筆記

 springboot啓動類: //spring快速啓動 @SpringBootApplication public class MySpringBootApplication { public static void mai

原创 quartz定時任務

java的quartz定時任務框架使用,spring整合 首先寫一個需要定時執行的類和方法 spring配置 1.配置定時任務需要執行的方法 2.配置觸發方法(有兩種觸發方式) 2.1使用CronTriggerFactoryBean配

原创 mysql時間加減

mysql時間加減 DATE_SUB()和DATE_ADD()函數,實現日期增減 DATE_SUB(NOW(),INTERVAL 30 MINUTE)        當前時間減30分鐘 DATE_SUB(NOW(),INTERVAL 1

原创 java實現socks5,ss代理,netty框架學習

最近在學習netty的過程中,突然想到之前翻牆一直用的shadowsocks,能不能用netty實現呢? 本文旨在學習netty使用,借鑑了網上大佬的很多用法,文尾有鏈接。 首先來看看爲什麼shadowsocks爲什麼能訪問404旗下的公

原创 HashMap數據結構--java基礎面試大Boss

前言: 幾年前剛剛培訓java出來,參加的第一家面試,面試java基礎,第一個問題就是hashmap數據結構。 當時我的反應是這樣的: 啥?啥結構,什麼數?什麼構?不就是get、put? 後來經過百度,看各種帖子,也算是瞭解了一些,面試

原创 淺看java線程池

上文:https://blog.csdn.net/TomCosin/article/details/82748312       在項目中一般使用線程池來進行異步、多線程操作,但是在創建線程池時也會又各種情況,比如說使用jdk自帶的Exe

原创 java異步延遲任務執行

今天遇到一個奇怪的需求:需要在某個操作後,延遲10min執行另一個操作。 一 新建線程 首先想到的方法便是新建一個線程完成此操作: 輸出 看起來這個操作沒有問題 ,但是現在項目中就有問題了。  這是阿里代碼檢查工具的提示。 試想一下