原创 comparator和comparable的使用

comparator和comparable前言comparablecomparable democomparable源碼分析comparatorcomparator demoComparator源碼分析總結 前言 最近筆者被問到對

原创 Java結束線程

前言        最近年底,項目緊很少寫博客了,現在說說最近碰到的問題,筆者在做分佈式JOB系統的時候,遇到一個比較棘手的問題:停止正在運行的線程。 1. 線程的生命週期 線程停止即Terminated狀態是伴隨run方法的結束而生,

原创 rocketmq API 生產者與消費者,springboot集成RocketMQ

前言        rocketmq在Linux上搭建好了,現在說說rocketmq的默認producer與consumer方式。 1. rocketmq設計 我畫了一張架構圖 rocketmq的每條隊列是順序的,跟kafka的part

原创 ArrayList與HashMap遍歷刪除元素,HashMap與ArrayList的clone體修改之間影響

前言        最近做項目,需要一邊遍歷一邊刪除list與map,主要是ArrayList與HashMap。發現list與map刪除報錯了。而筆者同時需要保留舊的list與map,並執行增刪改操作時,使用克隆的方式,然而克隆map與l

原创 InheritableThreadLocal父線程傳遞子線程線程安全

前言        最近做項目,需要全鏈路跟蹤,有各種比較成熟的方案,MDC/NDC log方式;zipkin之類的框架。究其根源是ThreadLocal與InheritableThreadLocal。下面看看兩者的區別。 1. thre

原创 Spring Boot Filter 順序源碼分析

  前言         筆者寫的spring boot項目的filter,使用@WebFilter不能自定義順序,使用Bean注入又不能定義攔截路徑。一定要定義FilterRegistrationBean的Bean才能同時生效,本章從源

原创 ubuntu 18.04 安裝與卸載desk桌面,wmware克隆,設置靜態ip

前言        由於筆者是用Ubuntu做服務器,desk 的UI很喫CPU和內存,資源最大化利用,卸載之。 1. 卸載 筆者的教程來源於Ubuntu官方的論壇,並自己實踐成功後,給出 卸載掉gnome-shell主程序 $sudo

原创 mac os Catalina 設置ll 終端背景色 vim顏色

前言        最近用上了mac Catalina,開發程序還停留在linux的終端界面,有點不方便,爲了方便開發,需要手工做一些設置   1. 終端字體大小,背景色與字體顏色 終端-->偏好設置 1.1 增加ll別名,增加文本與目

原创 docker(2) Dockerfile編寫運行tomcat9

Dockerfile前言dockerfileDockerfile時區設置RUN指令其他指令編譯運行總結 前言 上一章介紹了docker的背景,並執行了一個docker鏡像,運行了容器,但是容器的鏡像是如何實現的呢,簡單介紹一下do

原创 Java SPI改造支持按需查找實例化實現類

前言        上一章分析了Java SPI機制的原理,是通過遍歷查找實現類,並實例化對象。實際工作卻需要按需查找並實例化對象。我自己寫了一個簡單的demo,僅在官方的API做少量修改即可。 1. demo源碼 package co

原创 JAVA SPI實現機制與原理分析

前言        最近要做業務接口,需要在多個模塊根據需要調用不同的實現,立馬就想到了SPI機制,但是Java自帶的SPI又不能滿足要求,使用dubbo的SPI就能達到目的,但這樣就需要強依賴dubbo的jar,就想自己定製一個簡單的實

原创 rocketmq 單機環境搭建

前言        最近做項目,boss要求將kafka切換爲rocket mq,玩了一下rocketmq的動態切換。發現rocketmq能力還挺強大的,首先Windows下搭建一套環境。 1. 下載mq       訪問apache的官

原创 rocketmq API順序消息的使用

前言        在使用rocketmq的時候如果要保證嚴格的順序,那麼就需要將消息發送到rocketmq的一個消息隊列中,由於一個消息隊列只能在一個broker上,可能處出現短暫的不可用性(當節點的一個master發生主備切換時)。

原创 docker (1) 入門介紹

docker入門前言1. docker engine1.1. docker1.2. 對比虛擬機1.3. docker 安裝2. docker鏡像2.1. 本地鏡像列表2.2. 拉取鏡像3. docker鏡像執行總結 前言 最近BO

原创 MySQL大字段存儲優化與壓縮存儲

前言        最近在做一個分佈式任務調度系統,支持萬級的JOB調度,支持任務編排,涉及到公司的核心業務。在做系統時出現MySQL存儲某個字段很大的問題,超過text的長度,導致查詢更新性能低下。 1. demo 模擬MySQL數據庫