原创 list轉map的方法,通過Java8的stream流

public Map<Long, Account> getIdAccountMap(List<Account> accounts) { return accounts.stream().collect(Collectors

原创 通過DCL雙端檢鎖機制+volatile禁止指令重排,解決單例模式的線程不安全

一、DCL( double check lock) 雙端檢鎖機制 存在指令重排可能使結果不唯一,不一定線程安全,可通過volatile指令解決 二、併發多線程下存在問題 不加synchronized結果發生改變,直接添加synch

原创 成功解決MyBatis查詢MySQL中text類型的大字段爲空,selectByExampleWithBLOBs與selectByExample的區別

一、問題復現: 通過selectByExample查詢planJonsData時值爲null,但通過selectByExampleWithBLOBs不改變查詢條件,查詢的結果值不爲空 二、selectByExampleWith

原创 手動創建線程池,效果會更好哦

項目中創建多線程時,使用常見的三種線程池創建方式,單一、可變、定長都有一定問題,原因是FixedThreadPool和SingleThreadExecutor底層都是用LinkedBlockingQueue實現的,這個隊列最大長度

原创 分佈式事務Seata的at、tcc、saga模式

一、Seata 是什麼? Seata 是一款開源的分佈式事務解決方案,致力於提供高性能和簡單易用的分佈式事務服務。Seata 將爲用戶提供了 AT、TCC、SAGA 和 XA 事務模式,爲用戶打造一站式的分佈式解決方案。 AT 模

原创 阻塞隊列常用示例BlockingQueue

一、什麼是阻塞隊列 阻塞隊列是一個隊列,在數據結構中起的作用如下圖: 棧:先進後出,後進先出 隊列:先進先出 阻塞:必須要阻塞/不得不阻塞 當隊列是空的,從隊列中獲取元素的操作將會被阻塞 當隊列是滿的,從隊列中添加元素的操作

原创 Spring框架裏需要理解的面試題

一、Spring中Bean的生命週期 Bean的完整生命週期從 spring 容器開始實例化 bean 開始,到銷燬。可以從三點來理解 1、 bean自身的方法:包括構造方法、 set 方法、 init-method 指定的方法

原创 調整canal支持高版本,解決打包異常

因爲搜索項目要使用canal增量更新elasticsearch的索引,而下載client-adapter(客戶端適配者)的默認只支持到elasticsearch的6.4版本,但項目中使用elasticsearch的版本是7.3,爲

原创 解決看不到IDEA中lambda表達式、lambda不見了

設置方法:idea–>setting–>gutter icons–>勾選 Lambda

原创 遞歸計算公共生效時間範圍

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Da

原创 成功解決IDEA2020 Plugins 連不上、打不開

IntelliJ IDEA 2020.1 插件中心一直打不開,鑑於有部分同學反饋設置http proxy不能解決,所以可按以下順序檢查 一、設置 http proxy—>勾上Auto-detect proxy setting,參照

原创 深入理解Java虛擬機---jdk1.8廢棄永久代的原因

方法區(Method Area)與Java堆一樣,是各個線程共享的內存區域,它用於存儲已被虛擬機加載 的類型信息、常量、靜態變量、即時編譯器編譯後的代碼緩存等數據。雖然《Java虛擬機規範》中把 方法區描述爲堆的一個邏輯部分,但是

原创 深入理解ForkJoin及使用示例

一、什麼是ForkJoin 大數據裏面有map reduce ,Java從JDK1.7開始借鑑了這種分而治之的思想,提供ForkJoin框架用於並行執行任務,它的思想就是講一個大任務分割成若干小任務,最終彙總每個小任務的結果得到這

原创 JUC中T0級的三大輔助工具類(Semaphore,CountDownLatch,CyclicBarrier)

一、CountDownLatch(減少計數)讓一些線程阻塞直到另一些線程完成一系列操作後才被喚醒 主要有兩個方法, 1.1 當一個或多個線程調用await方法時,這些線程會阻塞,其它線程調用countDown方法會將計數器減一(調

原创 快速上手微服務之SpringCloud Alibaba

一、SpringCloud Alibaba的由來 衆所周知SpringCloud 版本迭代算是比較快的,因而出現了很多重大ISSUE都來不及Fix就推另一個Release了,隨着Spring Cloud Netflix項目進入到維