切換語言為:簡體

SpringBoot中基於XXL-JOB實現大...

場景一個應用需要支援大量資料的批處理任務,要求:並行處理能力:應用需能夠同時處理多個數據塊,即實現並行處理。靈活的併發控制:可以靈活調整並行處理的任務數量,以確保資源利用最大化且不過載。均衡負載分配:應將任務均勻分配到不同的伺服器節點...

SpringBoot基於延遲佇列 + 事件釋出...

本文主要記錄了在springboot中透過事件釋出機制+延遲佇列實現定時任務的需求,主要內容有:如何使用Spring的事件釋出機制使用延遲任務實現定時功能實現的思維導圖如下:事件釋出機制事件釋出機制需要實現三個角色,分別為事件的釋出者...

SpringBoot接入Gmail郵箱驗證

Spring Boot後端接入國際郵箱驗證技術文件在全球化的網際網路服務中,郵箱驗證是一個重要的環節,尤其在註冊、密碼重置等場景中。Spring Boot作為Java後端開發的首選框架,可以透過SMTP協議輕鬆整合國際郵箱驗證服務。本...

Java序列化、反序列化、反序列化漏洞

1 序列化和反序列化1.1 概念Java 中序列化的意思是將執行時的物件轉成可網路傳輸或者儲存的位元組流的過程。而反序列化正相反,是把位元組流恢復成物件的過程。1.2 序列化可以做什麼?持久化儲存:將物件狀態儲存到儲存裝置(如硬碟)中...

Redis 的 Java 客戶端有哪些?官方推薦哪個?

Redis 的 Java 客戶端有哪些?官方推...

Redis 官網展示的 Java 客戶端如下圖所示,其中官方推薦的是標星的3個:Jedis、Redisson 和 lettuce。Redis 的 Java 客戶端中,Jedis、Lettuce 和 Redisson 是最常用的三種。以...

實際測試 SpringBoot 處理1 次 Http請求需要消耗多少伺服器記憶體?

實際測試 SpringBoot 處理1 次 H...

在實際工作中,經常會需要進行在全鏈路壓測,最佳化 GC引數,最佳化 JVM 記憶體分配。當知道 1 次 RPC 請求和 Http 請求需要的堆記憶體大小後,你可以精確地計算:指定的併發量之下,系統需申請多少堆記憶體。同時結合 JVM ...

實際場景的SpringBoot專案實現的限流方案

實際場景案例假設你正在構建一個電子商務平臺,該平臺每天會有大量的使用者在特定的時間段(如促銷時)同時下單。這些訂單請求會同時涌入伺服器,如果沒有有效的流量控制,伺服器可能會被瞬時過載,導致崩潰或響應延遲。爲了避免這種情況,你決定使用“...

你寫的深複製函式不會還不支援迴圈引用吧!

淺複製與深複製淺複製淺複製是指建立一個新物件,其中複製的是原物件的第一層屬性值。對於原物件的基本資料型別,淺複製會直接複製它們的值;而對於引用型別,淺複製只複製引用,即新物件的屬性和原物件的屬性指向同一個記憶體地址。這樣,如果修改引用...

Java執行緒池遇到未處理的異常會崩潰嗎?

Java執行緒池遇到未處理的異常會崩潰嗎?

首先,這個問題考察的是你對執行緒池 execute 方法和 submit 方法的理解,在 Java 執行緒池的使用中,我們可以透過 execute 方法或 submit 方法給執行緒池新增任務,但如果執行緒池中的程式在執行時,遇到了未...

使用註解實現BigDecimal的四捨五入

在開始寫程式碼之前,我們需要先了解下BigDecimal有哪幾種小數位的擷取方式關於“擷取”那些事兒想要了解 BigDecimal 是如何處理小數位擷取的,我們需要看下 RoundingMode 這個類:public static v...