收藏 / 列表

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

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

spring , springcloud , springboot , JAVA

Java架構師 - 吹爆Alibaba自研的Spring全能筆記,建議人手一份!

Spring 這個技術棧,想必大家都知道,這玩意麪試必考工作必用,對於每位 Java 程序員來説都是至關重要的;俗話説 Java 開發不學習 Spring 就像士兵上戰場不帶槍,我認為這個比喻很形象。Spring 幾乎佔據了 Java web 的半壁江山,其重要性不言而喻,它跟它後面誕生的一系列解決方案被我們親切的稱為“Spring 全家桶”。 在當下毫不誇張地説,若是不會 Spring 就去面試

spring , spring-mvc , springboot , JAVA , 程序員

我不是碼農 - mybatis和mybatis-plus的json字段類型失效以及處理原理解析

最近接手一個老項目,進行json類型字段的對象映射,使用的是老版本的mybatis-plus(2.1.8),出現了一些問題 1、@TableFiled註解沒有typeHandler屬性,只能通過@TableField(el = "filed, typeHandler=xxx.TypeHandler")這種方式來配置 2、配置了@TableField(el = "filed, typeH

mybatis-plus , springboot , JAVA , Json , Mybatis

不一樣的科技宅 - Java並行流:一次搞定多線程編程難題,讓你的程序飛起來!

前言   在日常的工作中,為了提高程序的處理速度,充分利用多核處理器的性能,我們需要手動編寫多線程代碼。但是多線程編程非常複雜,容易出現死鎖、競態條件等問題,給我們帶來了很大的困擾。而 Java 並行流則提供了一種更加簡單、易用、安全的併發編程方式,可以讓我們更加輕鬆地編寫高效的併發程序。 使用多線程下載文件 public class MultiThreadExample { publ

lambda , 多線程 , JAVA , 併發編程 , 後端

全棧程序猿 - SpringCloud微服務實戰——搭建企業級開發框架(二十六):自定義擴展OAuth2實現短信驗證碼登錄

  我們系統集成了短信通知服務,這裏我們進行OAuth2的擴展,使系統支持短信驗證碼登錄。 1、在gitegg-oauth中新增SmsCaptchaTokenGranter 自定義短信驗證碼令牌授權處理類 /** * 短信驗證碼模式 */ public class SmsCaptchaTokenGranter extends AbstractTokenGranter { pri

oauth2.0 , spring , 短信 , springboot , JAVA

程序猿DD - Jackson 序列化的隱性成本

我們常以為接口的瓶頸在數據庫或業務邏輯,但在高併發、海量請求下,真正吞噬 CPU 的,可能是“把對象變成 JSON”的那一步。當監控把序列化時間單獨拆出來,你會驚訝它能讓賬單失控。這篇《The Hidden Cost of Jackson Serialization》對我啓發很大:默認好用的 Jackson,在某些場景可能成為熱路徑的成本中心。下面順手分享給大家參考,以下內容翻譯整理自 《The

spring , springboot , JAVA

威哥愛編程 - 【金九備戰】Spring Cloud Consul 面試題

在面試中,你有沒有被問到 Spring Cloud Consul 相關的問題呢?針對這個問題,我需要了解 Consul 的基本概念、核心功能、與 Eureka 和 Zookeeper 的區別、服務註冊和發現機制、以及健康檢查配置等,這些是展示你的技術功底和對微服務架構理解的考驗,廢話不多説,以下這些內容都是要清楚的。 首先,要説一下Consul是什麼。Spring Cloud Consul 是 S

spring , java-ee , spring-cloud , JAVA

向日葵 - Spring-IOC理論推導

UserDao接口 UserDaoImpl實現類 UserService業務接口 UserServiceImpl業務實現類 在之前的業務中,用户的需求可能會影響我們的代碼,我們需要根據用户的需求去修改代碼!如果程序代碼量非常大,修改一次的成本代價十分昂貴! UserServiceImpl使用set接口 private UserDao userDao; //利用set進行動態實現值的注

spring , ioc

小風箏 - SpringBoot 使用 Sa-Token 完成路由攔截鑑權

一、需求分析 在前文,我們詳細的講述了在 Sa-Token 如何使用註解進行權限認證,註解鑑權雖然方便,卻並不適合所有鑑權場景。 假設有如下需求:項目中所有接口均需要登錄認證校驗,只有 “登錄接口” 本身對外開放。 如果我們對項目所有接口都加上 @SaCheckLogin 註解,會顯得非常冗餘且沒有必要,在這個需求中我們真正需要的是一種基於路由攔截的鑑權模式,那麼在 Sa-Token 怎麼實現路由

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

今夜有點兒涼 - Redis怎麼實現分佈式鎖,以及注意事項

Redis 做分佈式鎖是通過利用 Redis 的一些基本命令來實現鎖的獲取、釋放以及避免死鎖等問題。常見的實現方式包括使用 SETNX 命令、SET 命令以及 RedLock 算法。 1. 分佈式鎖的基本實現方式 使用 SETNX 命令實現分佈式鎖 SETNX(SET if Not Exists)是 Redis 提供的一個原子命令,用於設置鍵值對,只在鍵不存在時執行操作。通過這個命令,可以實現簡單

redis , , JAVA , 分佈式 , 後端

京東雲開發者 - 淺析MySQL代價模型:告別盲目使用EXPLAIN,提前預知索引優化策略 | 京東雲技術團隊

背景 在 MySQL 中,當我們為表創建了一個或多個索引後,通常需要在索引定義完成後,根據具體的數據情況執行 EXPLAIN 命令,才能觀察到數據庫實際使用哪個索引、是否使用索引。這使得我們在添加新索引之前,無法提前預知數據庫是否能使用期望的索引。更為糟糕的是,有時甚至在添加新的索引後,數據庫在某些查詢中會使用它,而在其他查詢中則不會使用,這種情況下,我們無法確定索引是否發揮了預期的作用,讓人感到

MySQL , 索引 , mysql索引 , explain