原创 返回List元素 相同且相鄰元素 的起始下標

    需求如圖所示,僞代碼如下(返回List元素相同且相鄰元素的起始下標,沒有相同的就返回他的下標) public static void main(String[] args) { List<String> list

原创 多線程(帶返回值)異步處理任務的一種思路

 直接上Demo Code:   import lombok.extern.slf4j.Slf4j; import java.util.concurrent.Callable; import java.util.concurrent.

原创 Cglib動態生成Bean

          在動態生成表格的場景裏Cglib的動態生成Bean很簡單實用,分享下demo。           import com.alibaba.fastjson.JSON; import net.sf.cglib.be

原创 小記Spring工具類MultiValueMap

     在看Zuul的源碼(org.springframework.cloud.netflix.zuul.util.RequestContentDataExtractor.java)時發現一個從來沒見過的MultiValueMap,點進

原创 Mybatis+Oracle數據增量Sql(有則忽略,沒有則新增)

  接口: Integer batchSave(@Param("areaPointVOS")List<AreaPointVO> areaPointVOS);  實現:     把所有對象的屬性放到臨時表B中,然後通過ON來匹配條件,注意

原创 Java8 Stream 對List集合對象的兩個屬性進行分組

利用 Collectors.groupingBy分組,簡單實用,上demo   public static void main(String[] args) { List<ProArea> infoVOS = List

原创 工廠模式+門面模式+策略模式的易懂易記示例

          代碼模擬這樣一個場景:客戶要蓋房子,需要去勞務市場找個合適的包工頭來承包自己的工程,找到了合適的包工頭,最後開工。 客戶蓋房子流程圖....大概就這麼個意思  我按照自己的理解用代碼來逐一剖析、實現這個場景:  1、蓋

原创 @Value在static變量上的使用

    網上有很多誤導人的博文,在此親測記錄下。     下面介紹兩種方法,要注意這兩種方法必須在類上加@Component註解,這樣Spring容器在加載時纔會初始化相應註解下的方法。   1、 set注入法: private sta

原创 清除本地Git倉庫中在遠程已經刪除的分支小記

    控制檯下執行如下命令行即可: git remote prune origin     詳情可參見    https://blog.csdn.net/wangqingpei557/article/details/53147086

原创 遞歸獲取複雜嵌套JSON(json長什麼樣並不能確定,但一定是對象Key-Value的形式)的所有Key和Value

直接上代碼(遞歸有風險,棧太深會溢出,可考慮使用while代替)  遞歸實現: /** * @Auther: liuzujie * @Date: 2020/2/26 16:25 * @Desc:

原创 淺析Oracle varchar2類型及根據字符集獲取在Java中的字符字節/截取工具類

   首先varchar2(byte)最大是4000字節。    varchar2(50)  表示該字段類型爲varchar2類型,長度爲50,可以存單字節字符50個。     長度跟你的字符集和其編碼都有關係:   如果字符集是16位

原创 簡單實用的驗證碼工具

1、直接上工具類代碼 import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.FileOu

原创 redis incr和incrBy的使用

 最近用incr和incrBy在接口裏做了下埋點統計每天請求總數,這兩個命令還是挺好用的,先說下這倆命令吧 注:redis後臺服務是串行的單線程執行,不存在併發,即多線程調用Incr/incrby方法,在redis服務器上仍然是串行的單線

原创 在一個線程內開啓多線程(內部類)消費

      與大家分享一種多線程實現異步消費的方式。基本思路是開啓一個主線程,在主線程內定義一個內部線程類,開啓多個內部線程類進行消費;代碼如下(不懂的話可以直接複製代碼跑一下):    1、首先有一個啓動主線程方法 import ja

原创 根據主鍵或唯一索引新增或更新數據(ON DUPLICATE KEY UPDATE)

ON DUPLICATE KEY UPDATE 會根據主鍵或唯一索引是否存在而進行新增或更新;如果不存在則新增,之後不會執行後面的更新; insert into student(number, name) values(45,‘張三’