收藏 / 列表

碼猿技術專欄 - SpringBoot大文件上傳卡死?分塊切割術搞定GB級傳輸,速度飆升!

在互聯網應用中,大文件上傳是一個常見而棘手的挑戰。傳統的單文件上傳方式在面對大文件時經常面臨超時、內存溢出等問題。本文將深入探討如何利用Spring Boot實現高效的分塊上傳方案,解決大文件傳輸痛點。 一、為什麼需要文件分塊上傳? 當文件上傳超過100MB時,傳統上傳方式存在三大痛點: 網絡傳輸不穩定: 單次請求時間長,容易中斷 服務器資源耗盡: 大文件一次性加載導致內存溢出 上傳失敗代

spring , springcloud , springboot , JAVA

Java架構師 - IO:阻塞和非阻塞、同步和異步

阻塞和非阻塞 阻塞的時候線程會被掛起 阻塞: 當數據還沒準備好時,調用了阻塞的方法,則線程會被掛起,會讓出CPU時間片,此時是無法處理過來的請求,需要等待其他線程來進行喚醒,該線程才能進行後續操作或者處理其他請求。 非阻塞: 意味着,當數據還沒準備好的時候,即便我調用了阻塞方法,該線程也不會被掛起,後續的請求也能夠被處理。 同步 同步和異步跟串行和並行非常形似。 假設在一個場景下:完成一個大任務需

阻塞 , JAVA , io , 異步 , 後端

我不是碼農 - 由於鎖超時讓我發現了parallelStream並行流的關於線程上下文的一個坑

就我之前因為在處理jpa持久化對象上下文 (文:https://segmentfault.com/a/1190000043581830) 時,parallelStream並行流給我的印象就是會讀不到父線程的上下文的,所以應該在父線程裏的事務和在parallelStream裏的事務應該是區分的,而不是共用同一個事務的,然而今天因為一個鎖超時的問題,發現並沒有那麼簡單,下面我們一步一步來驗

spring , 多線程 , JAVA , stream , 事務

不一樣的科技宅 - Java Stream API 操作完全攻略:讓你的代碼更加出色 (一)

前言   Java Stream 是一種強大的數據處理工具,可以幫助開發人員快速高效地處理和轉換數據流。使用 Stream 操作可以大大簡化代碼,使其更具可讀性和可維護性,從而提高開發效率。本文將為您介紹 Java Stream 操作的所有方面,包括 filter、map、distinct、sorted 等操作,讓您的代碼行雲流水,更加優雅。 filter():根據指定的 Predicate

API , lambda , 技巧 , JAVA , 後端

程序猿DD - Spring Boot快速集成MiniMax、CosyVoice實現文本轉語音

在一些需要高質量文本轉語音(TTS)的場景中(比如:有聲書配音、播客等)。之前介紹的EdgeTTS方案可能效果沒有那麼好。此時就比較推薦使用 MiniMax、CosyVoice這些提供的音色,這些音色的效果會更加擬人、逼真,接近真人發音。這裏依然通過 UnifiedTTS 的統一接口來對接,這樣我們可以在不更換客户端代碼的前提下,快速在 MiniMax、CosyVoice等引擎之間做無縫切換。本文

spring , springboot , JAVA

威哥愛編程 - Java如何實現企業微信審批流程

大家好,我是 V 哥。最近的一個項目中,用到企業微信的審批流程,整理出來分享給大家。在企業微信中實現審批流程可以通過調用企業微信的開放API完成,企業微信提供了審批應用接口,用於創建審批模板、發起審批流程以及獲取審批實例詳情。下面 V 哥用一個Java示例代碼,來展示如何在企業微信中實現審批流程。 實現步驟 獲取企業微信Access Token:每次訪問企業微信API接口前需要先獲取Acces

微信 , java-ee , JAVA

小風箏 - 對敏感操作的二次認證 —— 詳解 Sa-Token 二級認證

一、需求分析 在某些敏感操作下,我們需要對已登錄的會話進行二次驗證。 比如代碼託管平台的倉庫刪除操作,儘管我們已經登錄了賬號,當我們點擊 [刪除] 按鈕時,還是需要再次輸入一遍密碼,這麼做主要為了兩點: 保證操作者是當前賬號本人。 增加操作步驟,防止誤刪除重要數據。 這就是我們本篇要講的 —— 二級認證,即:在已登錄會話的基礎上,進行再次驗證,提高會話的安全性。 Sa-Token 是一

sa-token , 權限控制 , spring , springboot , JAVA

今夜有點兒涼 - Redis為什麼採用單線程設計

Redis為什麼採用單線程設計 Redis在核心處理邏輯上採用單線程設計,這是一個經過深思熟慮的架構選擇。下面從多個角度詳細分析Redis採用單線程的原因和優勢: 一、單線程設計的核心優勢 1. 避免線程切換開銷 CPU上下文切換成本高:多線程在高併發場景下會頻繁切換線程,每次切換都需要保存和恢復線程的執行狀態 減少鎖競爭:單線程模型無需加鎖,避免了因鎖引起的死鎖、活鎖問題,也消除了加鎖和釋

內存 , redis

京東雲開發者 - 由 Mybatis 源碼暢談軟件設計(七):從根上理解 Mybatis 一級緩存

本篇我們來講 一級緩存,重點關注它的實現原理:何時生效、生效範圍和何時失效,在未來設計緩存使用時,提供一些借鑑和參考。 1. 準備工作 定義實體 public class Department { public Department(String id) { this.id = id; } private String id; /**

程序員