原创 給一個大的 List 分區(根據給定的最大子列表Size均衡的分割出相應的子List)

核心思想:就是計算出相對均等的桶大小,然後利用Guava的Lists.partition()方法來分區。 應用場景:請求的接口只允許一次請求1000個數據,而實際上要請求的數據超過1000,此時就可以利用次方法先分割;然後,再利用多線程和

原创 同步編程和異步編程的差異

差異: 同步編程 - 一個請求對應一個線程。 - 所有都是阻塞執行,所有的執行都在一個線程持續。 - ThreadLocals工作良好。 異步編程 - 一個請求可能會被多個線程去執行。 - 所有都是非阻塞執行,一個被接受的請求可能會被返回

原创 Git 常用命令簡單記錄

日常操作系列: git checkout -b 本地分支名 origin/遠程分支名 拉取遠程分支並同時創建對應的本地分支 git branch --set-upstream 本地關聯遠程分支 git branch -a 查看所有分支,包

原创 Linux 服務器上如何通過 Shell 腳本一鍵部署 SpringBoot 應用?

下面的腳本適用於在Linux環境下,部署Java可執行jar包。需要對應的修改環境相關的參數,比如代碼路徑、部署路徑、日誌輸出位置等。記得執行 chmod +x restart_server.sh 來讓腳本可執行。 #! /bin/sh

原创 CountDownLatch 基本工作原理和使用案例

定義:一種多功能的同步工具,它允許一個或多個線程等待,直到在其他線程中執行的一組操作完成爲止。它屬於閉鎖的範疇。字面可以翻譯爲“倒計時鎖存器”。 功能:使用給定的計數初始化CountDownLatch。由於countCount方法的調用,

原创 超實用的SpringBoot中全局異常處理器(供參考)

import com.xxx.exception.CodingCloudException; import com.xxx.exception.ResourceNotFoundException; import lombok.exter