原创 【Java框架】-- SpringBoot大文件RestTemplate下載解決方案

近期基於項目上使用到的RestTemplate下載文件流,遇到1G以上的大文件,下載需要3-4分鐘,因爲調用API接口沒有做分片與多線程, 文件流全部採用同步方式加載,性能很慢。最近結合網上案例及自己總結,寫了一個分片下載tuling/fi

原创 MyBatis中模糊搜索使用like匹配帶%字符時失效問題

1.問題背景 Mybatis是我們日常項目中經常使用的框架,在項目中我們一般會使用like查詢作爲模糊匹配字符進行搜索匹配,下面的Mapper.xml是我們使用like在項目中進行模糊匹配的常用方式: <sql id="searchCon

原创 【java框架】SpringBoot(10) -- SpringBoot巧用 @Async提升API接口併發能力

1.背景 異步調用幾乎是處理高併發Web應用性能問題的萬金油,那麼什麼是“異步調用”? “異步調用”對應的是“同步調用”,同步調用指程序按照定義順序依次執行,每一行程序都必須等待上一行程序執行完成之後才能執行;異步調用指程序在順序執行時,不

原创 MySQL 用 limit 爲什麼會影響性能?

1.前言 首先說明一下MySQL的版本: mysql> select version(); +-----------+ | version() | +-----------+ | 5.7.17 | +-----------+ 1 r

原创 【Java代碼之美】 -- Java17新特性初探

1.背景 Oracle與9月中旬正式宣佈推出Java17,正如官方所說: JDK17是最新的長期穩定支持的版本作爲JDK11之後的下一個長期支持的版本; 也是Spring Framework6與SpringBoot 3在運行時至少需要運行

原创 【Java代碼之美】 -- Java11新特性解讀

1.背景 美國時間 09 月 25 日,Oralce 正式發佈了 Java 11,這是據 Java 8 以後支持的首個長期版本。非常值得大家的關注,可以通過下面的地址進行下載: https://www.oracle.com/technetw

原创 【Java代碼之美】 -- 通過Value獲取Map中的鍵值Key的四種方法

1.簡介 最近在項目中遇到一個EasyExcel中需要取invokeHeadMap中headMap裏面的具體列名的集合Index,就遇到了需要從Map從反向通過Value取對應的Key的值。 通過搜索了網上比較好的文章案例,於是我寫出了下面

原创 【Java基礎】 -- Java遍歷List四種方法的效率對比 【轉載】

1.遍歷方法簡介 Java遍歷List的方法主要有四種: for each for(Object o :list) { } Iterator Iterator iter = list.iterator(); while(ite

原创 【數據庫】Redis(6)--Redis主從複製

1.1.Redis主從複製概念 概念 主從複製,是指將一臺Redis服務器的數據,複製到其它的Redis服務器,前者稱爲主節點(master/leader),後者稱爲從節點(slave/follower);數據的複製是單向的,只能由主節點到

原创 【數據庫】Redis(5)--Redis發佈訂閱

Redis發佈訂閱 Redis發佈訂閱模型就是Redis提供的一種簡單的消息訂閱和消息消費的模式,可以實現簡單的MQ模擬通信的功能。即Redis是可以用作消息訂閱和發佈實現的一種中間件,不僅僅是緩存,不僅僅是非關係型數據庫。 1.1.Red

原创 【java框架】SpringBoot(9) -- Springboot中如何優雅的進行字段校驗

參數校驗放置位置:一般推薦與業務無關的放在Controller層中進行校驗,而與業務有關的放在Service層中進行校驗。如果項目中都在Controller層中進行的校驗,則按照項目的規範要求參照進行校驗即可。 1.1.常用的校驗工具類 使

原创 【開發工具】-- IDEA集成Git在實際項目中的運用

1.企業實際項目中Git的使用 在實際的企業項目開發中,我們一般Java的項目在公司都有自己的局域網代碼倉庫,倉庫上存放着很多的項目。以我工作過的公司如華爲的項目,一般是存放在企業內部的CodeHub上;CETC電科是存放在碼雲Gitee的

原创 【Java代碼之美】 -- Java必會的工具庫,減少代碼量的利器

1.Java自帶工具類方法 1.1.List集合拼接成以逗號分隔的字符串 // 如何把list集合拼接成以逗號分隔的字符串 a,b,c List<String> list = Arrays.asList("a", "b", "c");

原创 【java框架】SpringMVC(4) -- JSON相關的數據返回

項目中我們經常會使用到JSON的數據格式,這裏回顧了一下JSON相關的知識點。對日常使用到的JSON工具做一些簡單的補充。 1.JSON工具 1.1.fastjson工具包 在實際項目中我們經常會使用alibabba的fastjson來替代

原创 【IDEA使用技巧】(6) —— 常用的LiveTemplate模板

1.前言 關於IDEA中我們經常要使用到Lambda進行forEach數據打印時,System.out::println這個快捷鍵模板就非常常用了。這裏IDEA中沒有如同sout那樣的快捷鍵。 這裏我使用Live Template進行了簡單