原创 Java 簡單的重試機制

模板方式 public abstract class RetryTemplate { private static final int DEFAULT_RETRY_TIME = 1; private int r

原创 Java Stream 分組,去重基本使用

根據一個對象屬性值去重 1,創建提取方法 private <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) { Map<Obj

原创 Feign調用報錯feign.FeignException: status 400 reading xxx 異常

問題描述: feign.FeignException: status 400 reading xxx 異常 feign調用時鏈接過長, 導致請求沒有發出去。 GET請求有長度限制。 解決方案: 使用POST請求 + @Reques

原创 toString和toJSONString的區別

Map<String, Integer> map = new HashMap<>(); map.put( "staff9", 1 ); map.put( "staff1", 3 ); System.out.prin

原创 feign 線程池數設置

1, feign默認的線程池大小爲10個, 併發請求時, feign調用會報錯,需要將線程池調高 hystrix.threadpool.default.coreSize=80 2, 設置從調用線程允許HystrixCommand

原创 Feign設置超時時間 Ribbon + hystrix

一: 使用Feign調用接口分兩層,ribbon的調用和hystrix的調用,所以ribbon的超時時間和Hystrix的超時時間的結合就是Feign的超時時間 #hystrix的超時時間 hystrix: command

原创 Java Stream分組取最大值合併list, 排序倒敘

根據屬性A分組,然後取分組裏屬性B最大的值, 最後合併成list Map<String, IWLS_EnDepotEntry> collect = endepot.stream().collect(

原创 計算兩個座標間的距離

計算經緯度間的距離 public class DistanceUtils { private static double EARTH_RADIUS = 6378137; // public static

原创 mysql Using join buffer (Block Nested Loop) join連接查詢優化

問題: mysql Using join buffer (Block Nested Loop) join連接查詢優化。 優化方案: 在鏈表查詢中, 確保被驅動的表被索引, 如下t2表的 t1_id 需要創建索引 select t

原创 解決驗證碼亂碼

問題:在測試環境正常,但是發到線上服務器就亂碼 經過檢查發現是代碼中設置的字體服務器中沒有對應字體 Graphics2D g2 = image.createGraphics(); [圖 片] 在服務器加上 Algerian字

原创 nginx location proxy_pass 後面的url 加與不加/的區別

在nginx中配置proxy_pass時,當在後面的url加上了/,相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走;如果沒有/,則會把匹配的路徑部分也給代理走。 首先是location進行的是模糊匹

原创 mybatis 邏輯分頁和物理分頁

Mybatis實現分頁的方法 使用RowBounds對象進行邏輯(邏輯內存中)分頁,它是針對ResultSet結果集執行的內存分頁。 使用pageHelper插件進行物理分頁(其實是依賴物理數據庫實體)。 2. Mybati

原创 根據list中對象時間屬性進行排序

private static void ListSort(List<User> list) { Iterator<User> iterator = list.iterator(); if(iterator.hasNext(

原创 springboot 多數據源

單數據源 1, springboot集成mybatis 我們一般使用druid連接池。 druid中實現了 DataSource 多數據源 實現aop的方案: AOP結合AbstractRoutingDataSource 1

原创 Spring事務所在的方法上加synchronized出現的問題

@Transactional public synchronized void test(){ .... 出現的問題: 鎖釋放了, 但是事務還未提交。下個線程進來查詢到的數據還是舊的 } spring 事務處理如