自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

荏苒夕阳的博客

关于java技术的分享

  • 博客(116)
  • 资源 (18)
  • 收藏
  • 关注

原创 【Java零基础连载10】Java常用工具类|String、StringBuilder、StringBuffer、包装类、日期工具类

上一篇我们完整攻克了Java异常处理全套机制,掌握了异常体系、捕获抛出、自定义异常、代码容错等核心能力,解决了程序稳定性与报错排查的核心问题。从本篇开始,我们进入Java常用API实战阶段。在实际开发中,我们极少直接编写纯基础语法代码,绝大多数业务逻辑都需要依赖Java自带的工具类完成,其中字符串、包装类、日期类是项目中出现频率最高、面试考点最多、新手坑最大的三大核心工具体系。

2026-07-11 08:45:00 172

原创 【Java零基础连载09】Java异常处理机制|异常体系、try-catch-finally、throws、自定义异常

上一篇我们彻底收官Java面向对象全套核心体系,搞定多态、抽象类、接口、代码块、final关键字等重难点,完成了Java基础核心的完整闭环。从本篇开始,我们正式进入Java进阶语法阶段,首先攻克项目开发必备的异常处理机制。在日常编码中,空指针、除数为零、数组越界、类型转换错误层出不穷。如果没有异常处理机制,程序一旦报错就会直接终止运行、崩溃退出,用户体验极差,项目稳定性无法保障。捕获错误、处理异常、保证程序正常运行、精准定位报错位置,是所有项目开发、框架底层、线上排错的核心基础。

2026-07-11 08:00:00 310

原创 EasyExcel 3.1.1 多层级报表导出痛点:相同单元格前置依赖自动合并完美注解解决方案

作用:标记需要参与层级联动合并的实体字段,无参数、零侵入,仅运行期反射识别。/*** 列层级相同数据合并注解* 前置依赖合并规则:* 假设字段顺序:A (@ExcelColumnMerge) → B (@ExcelColumnMerge) → C (不合并)* 同一行区间,如果 A 列没有形成合并段(上下值不一样),那么 B 列即使连续相同值,禁止合并;* 只有前面所有标记合并的列连续值完全一致,当前列才允许合并;*/报错原因:传统逐行实时合并多次创建同一区域;重复调用;

2026-07-11 07:45:00 450

原创 【Java零基础连载21】Java IO&NIO 全集|BIO/NIO/AIO 底层原理、多路复用、面试对比、实战避坑

标准答案IO(Input/Output,输入/输出)是程序与外部设备之间的数据交互过程。输入指将外部设备数据读取至内存,输出指将内存数据写入外部设备。Java IO整体分为文件IO和网络IO两大类,后端开发与面试核心聚焦网络IO模型。标准答案同步:用户线程全程参与IO全过程,需等待数据就绪、数据拷贝全部完成后,线程才会释放,流程全程可控。异步:用户线程仅发起IO请求后立即返回,无需等待IO执行过程,由操作系统完成数据就绪与数据拷贝,最终通过回调机制通知线程处理结果。阻塞。

2026-07-11 07:00:00 270

原创 【Java零基础连载08】面向对象核心下篇|多态、抽象类、接口、代码块、final关键字

上一篇我们吃透了OOP继承体系核心,掌握了继承、this&super关键字、方法重写、重载与重写区别等核心知识点,彻底打通了面向对象第二大特性——继承。本篇作为面向对象连载终章多态,同时精讲抽象类、接口、三大代码块、final关键字五大高频核心知识点,一次性补齐所有OOP短板。至此,封装、继承、多态三大特性全部学完,Java面向对象完整知识体系正式收官,后续所有集合、框架、进阶语法都基于本篇内容拓展,零基础务必吃透!读完本篇,你将彻底掌握:多态核心原理、实现条件、编译运行机制。

2026-07-10 12:00:00 304

原创 【Java零基础连载07】面向对象核心中篇|this关键字、继承详解、super关键字、方法重写

上一篇我们彻底吃透了面向对象入门核心:类与对象、封装思想、权限修饰符、标准JavaBean规范,成功完成了从面向过程到面向对象的编程思维转型。封装、继承、多态是面向对象编程的三大基石,封装是基础,继承是延伸,多态是升华。上篇我们搞定了封装,本篇我们重点攻克继承这一核心特性。this与super关键字混用分不清重载重写傻傻分不清。全程零基础易懂、代码实战落地,搭配底层逻辑解析,学完即可吃透继承体系核心考点。读完本篇,你将彻底掌握:this关键字四种核心用法,解决成员变量局部变量冲突问题。

2026-07-10 08:30:00 285

原创 【Java零基础连载06】面向对象核心上篇|类与对象、封装、权限修饰符、JavaBean规范

前五篇我们系统学完了Java基础语法、流程控制、数组、方法与内存机制,全程采用的是面向过程编程思想:聚焦具体步骤,一步一步编写代码解决问题。但在企业级项目开发中,业务逻辑复杂、功能模块繁多、代码复用性要求极高,面向过程的编程方式会显得臃肿、混乱、难以维护。为此,Java推出了贯穿全程的核心思想——面向对象编程(OOP)。从本篇开始,我们正式进入Java进阶核心阶段,深耕面向对象编程。本篇作为OOP开篇,带你从零吃透类与对象、封装特性、权限修饰符、JavaBean规范,彻底完成编程思维的转型。

2026-07-10 08:00:00 208

原创 Java后端导出场景 EasyExcel自定义列点击超链接完整落地解决方案 | 多链接批注中支撑

通过自定义拦截器,精准控制指定列、动态适配长短链接、统一样式,支持动态列导出,兼容性更强,适配所有业务场景。/*** EasyExcel 自定义超链接列处理器* 解决:动态列导出、单元格点击链接、长文本适配、样式统一问题* @author 技术博主/*** 需要开启超链接的列索引(可动态传入,适配自定义列导出)} /*** 单元格渲染完成后置处理(核心方法)

2026-07-09 20:00:00 214

原创 【SpringBoot WebFlux篇】WebFlux高频性能优化与生产调优实战

通过前9篇连载,我们已经完整搭建了一套企业级WebFlux项目骨架双开发模式(注解+函数式)+ R2DBC全链路非阻塞 + 响应式事务 + 全局异常 + 统一返回 + 日志规范QPS上不去、响应延迟高、偶发超时、并发高了直接卡顿。90%的WebFlux项目都是“假响应式”。写法是响应式的,配置是默认的,代码里藏着阻塞逻辑,最终性能完全发挥不出来。本篇彻底根治所有性能短板,从底层线程、连接池、数据流、业务代码、防护策略、监控排查全方位调优,让你的WebFlux服务真正具备高并发、低延迟、高吞吐能力。

2026-07-09 18:00:00 5

原创 Github Copilot 实战:从代码辅助到研发效能跃迁

在日常开发中,我们常常陷入一种“重复劳动”的怪圈:写着熟悉的样板代码,盯着复杂的业务逻辑发呆,或者在深夜面对一堆毫无注释的遗留代码束手无策。很多时候,阻碍我们交付价值的并非技术难题本身,而是那些琐碎、机械且消耗心力的过程。随着智能编码助手的普及,这种局面正在发生根本性的转变。它不再仅仅是一个高级的自动补全工具,而是逐渐演变成能够理解上下文、辅助决策甚至主动优化架构的“结对编程伙伴”。对于一线开发者而言,真正关心的不是模型有多强大,而是它能否在具体场景中解决实际问题。

2026-07-09 14:16:58 79

原创 MiniMax M3 模型快速上手与部署指南

最后,通过对关键参数的微调,可以显著提升模型的回答质量。参数控制输出的随机性,数值越低回答越确定严谨,适合事实查询;数值越高越富有创造力,适合创意写作。Top_P和则用于进一步控制词汇的多样性和重复度。在实际应用中,没有通用的最佳参数,必须结合具体业务场景进行 A/B 测试。综上所述,成功集成大模型不仅仅在于调用接口,更在于对环境、安全、成本和用户体验的全面考量。从规范的密钥管理到灵活的上下文处理,从流式输出的即时反馈到细致的错误重试机制,每一个环节的优化都能为最终产品加分。

2026-07-09 14:13:35 67

原创 【SpringBoot WebFlux篇】WebFlux全局异常处理 + 统一结果封装 + 日志规范

通过前八篇连载,我们已经完成WebFlux基础原理、双模式开发、R2DBC全链路非阻塞数据库实战,项目核心功能已经可以正常运行。但如果直接投产,会暴露两个严重的生产问题:1.返回格式不统一:正常接口、分页接口、自定义接口返回结构杂乱,前端适配成本极高;2.异常裸抛泄露:代码报错直接返回原生异常堆栈、英文信息、数据库报错详情,暴露服务架构,存在安全风险。拦截失效、响应式链路断裂、Mono/Flux数据流中断、高并发下内存泄露等隐性BUG。核心原因:MVC异常机制基于同步阻塞。

2026-07-09 12:15:00 107

原创 EasyExcel 图片链接导出报错、图片不显示、红叉失效 3种落地解决方案(踩坑详解)

自定义全局单元格转换器,拦截图片URL/本地路径字符串,自动下载/读取图片二进制流,封装为EasyExcel可识别的对象,完美适配单图片字段导出场景。通过EasyExcel单元格后置处理器,在数据写入完成后、Excel生成前,拦截指定列图片链接,手动读取图片二进制数据,通过POI API精准绘制图片,支持自定义图片尺寸、居中缩放、单元格适配,解决图片错位、裁剪问题。参考答案:自定义Converter是单条数据触发转换。

2026-07-09 10:27:40 524

原创 复杂表头Excel导出|解决错位合并OOM|EasyExcel3.1.1生产完美落地方案

*** EasyExcel3.1.1 不规则表头自定义合并处理器* 支持任意跨行、跨列、非对称单元格合并* 解决原生自动合并仅支持对称表头的局限性} /*** 重写合并逻辑,批量执行自定义合并区间return;} // 采用unsafe方法,规避重复合并报错,适配生产批量合并 for(CellRangeAddress rangeAddress : cellRangeAddressList) {} } /*** 快速构建合并区间工具方法。

2026-07-09 10:12:43 438

原创 【SpringBoot WebFlux篇】WebFlux整合响应式数据库R2DBC实战(无阻塞CRUD)

在前七篇中,我们已经吃透WebFlux底层原理、Mono/Flux数据流、线程调度及注解式+函数式双开发模式。全程响应式写法,接口吞吐量依旧低迷,高并发下频繁卡顿。应用层非阻塞,数据库层IO阻塞。传统JDBC、MyBatis、JdbcTemplate均为同步阻塞IO,执行SQL时会持续占用EventLoop核心线程,彻底破坏WebFlux非阻塞模型,引发请求堆积、服务降级。想要发挥WebFlux极致性能,必须实现请求接收、业务处理、数据库交互全链路响应式。而R2DBC。

2026-07-09 08:50:48 146

原创 Discode.Ai 智能编码助手实战应用指南

在大型软件项目的开发周期中,我们常常会遇到这样的困境:业务需求变更频繁,导致核心逻辑的代码结构日益臃肿;或是面对多年前的遗留系统,文档缺失、逻辑晦涩,让重构工作举步维艰。许多开发者花费了大量时间在重复的样板代码编写、繁琐的环境配置以及低效的沟通审查上,真正用于解决核心难题的精力反而被挤压。这种“忙而无效”的状态,不仅拖慢了交付节奏,更让技术债务像滚雪球一样越积越多。其实,借助现代化的智能辅助工具,这些痛点都有机会得到显著缓解。

2026-07-09 08:48:49 153

原创 【SpringBoot WebFlux篇】WebFlux函数式编程实战(RouterFunction+HandlerFunction)

前面第六篇我们搞定了 WebFlux注解式开发,凭借兼容SpringMVC的特性,适合快速迭代业务CRUD,是普通业务服务的主流选型。但 WebFlux 最核心、最原生、最能发挥响应式优势的,其实是函数式编程模型。网关所有路由、过滤、断言,全部基于 WebFlux 函数式模型实现,完全没有注解。零注解无侵入:告别Controller、RequestMapping等注解,代码更纯粹路由动态可控:路由可代码动态组装、动态刷新,适配网关动态路由场景性能更轻量:无需注解扫描、无需反射映射,启动更快、吞吐更高。

2026-07-09 08:30:00 164

原创 【SpringBoot WebFlux篇】WebFlux注解式开发完整指南(兼容MVC)

前面五篇我们已经彻底吃透 WebFlux 底层原理:异步非阻塞模型、响应式规范、Mono/Flux 数据流、高频操作符、线程调度模型,搞定了所有底层理论与性能核心知识点。从本篇开始,正式进入业务落地实战阶段。注解式开发和函数式开发。其中注解式开发兼容 SpringMVC 注解习惯,上手零门槛,无需改变原有编码思维,仅需适配响应式返回值,即可快速开发高并发接口。本文聚焦生产最常用的注解式开发,一站式解决:项目搭建、依赖冲突、参数绑定、跨域、文件上传、请求拦截、结果封装等全流程业务问题。依赖冲突坑。

2026-07-09 08:00:00 225

原创 【SpringBoot WebFlux篇】WebFlux线程调度模型(publishOn/subscribeOn面试精讲)

前面四篇我们搞定了 WebFlux 基础架构、响应式规范、Mono/Flux 数据流、全套高频操作符,已经可以写出完整的响应式业务代码。但很多同学写完代码会遇到各种诡异问题:明明用了 WebFlux,接口依然并发上不去、吞吐量极低偶尔出现服务卡顿、请求堆积、EventLoop 线程阻塞不知道什么时候异步、什么时候同步,线程混乱publishOn 和 subscribeOn 到底有什么区别?答案全部指向WebFlux 线程调度模型。WebFlux 的高性能,本质是线程模型的极致复用。

2026-07-08 18:00:00 101

原创 【SpringBoot WebFlux篇】WebFlux高频操作符实战(转换/过滤/合并/异常处理)

上一篇我们彻底掌握了Mono、Flux 核心数据流,理解了惰性执行、三大信号、数据流创建与互转机制。但在真实业务开发中,单纯创建数据流毫无意义,我们需要对数据流进行转换、过滤、拼接、聚合、异常兜底、日志埋点等一系列操作。这就需要用到Reactor 操作符。Mono/Flux 是数据载体,操作符是业务处理逻辑。WebFlux 整套业务开发,本质就是「创建数据流 + 链式拼接操作符」。本文摒弃冷门鸡肋API,只讲生产高频、面试必考、业务刚需。

2026-07-08 12:00:00 97

原创 【Java零基础连载05】Java方法与内存机制|重载、递归、值传递、内存图解

上一篇我们彻底吃透了数组、基础算法与Arrays工具类,具备了批量处理数据、编写基础算法代码的能力。在之前的编码中,我们所有代码都写在main方法中,随着业务逻辑越来越复杂,代码会变得臃肿、冗余、难以复用和维护。为了解决代码冗余、提升复用性,Java引入了方法的概念。同时,想要真正学懂Java、吃透面试考点,只会写代码远远不够,必须懂底层内存运行机制。本篇将方法封装与内存原理结合讲解,零基础带你突破进阶核心难点。读完本篇,你将彻底掌握:Java方法的定义、调用、参数与返回值规范。

2026-07-08 09:01:43 111

原创 【Java零基础连载04】Java数组精讲|一维二维数组、经典算法与Arrays工具类实战

上一篇我们学完了Java流程控制,掌握了分支、循环、跳转的逻辑编码能力,具备了基础的代码逻辑编写思维。但在实际开发中,我们经常需要批量存储、管理一组相同类型的数据,如果单独定义多个变量存储,代码会极度冗余、难以维护,而数组就是解决这一问题的核心方案。数组是Java首个核心数据容器,也是后续集合框架、数据结构、算法刷题的基础,几乎所有Java项目都会用到数组。本篇零基础无门槛教学,读完你将掌握:数组核心概念、特性与底层内存存储原理一维数组静态、动态初始化与全套遍历方式。

2026-07-08 09:01:32 157

原创 【SpringBoot WebFlux篇】Reactor核心数据流:Mono与Flux全方位详解

上一篇我们吃透了Reactive Streams 响应式官方规范,理解了 Publisher、Subscriber、背压、惰性执行等底层核心原理。理论落地到 WebFlux 开发,Spring 官方提供了两套核心数据流实现类Mono<T>:0/1 个元素的单值数据流Flux<T>:0/N 个元素的多值流式数据流WebFlux 编程,就是操作 Mono 和 Flux 的编程。所有的接口返回、数据查询、远程调用、流式推送、异常处理,全部围绕这两个类展开。

2026-07-08 08:38:12 336

原创 【SpringBoot WebFlux篇】响应式规范与函数式基础(WebFlux前置必备知识)

在上一篇文章中,我们搞懂了WebFlux 与 SpringMVC 的核心区别、异步非阻塞优势、背压机制与适用场景。但很多同学开始上手写代码时,会出现大量困惑:为什么 Mono/Flux 必须订阅才执行?为什么响应式可以自动回调、无需手动等待?背压机制底层到底靠什么规范实现?WebFlux 各种操作符的设计逻辑从何而来?答案全部集中在本文的Reactive Streams 响应式官方规范。WebFlux 所有底层能力、数据流设计、异步回调、背压限流,全部严格遵循统一响应式标准。

2026-07-08 08:37:34 425

原创 【Java零基础连载03】Java流程控制|分支、循环、跳转语句实战

上一篇我们彻底吃透了Java基础语法、变量、数据类型与运算符,具备了基础的代码书写能力。但单纯的变量运算无法实现复杂的业务逻辑,真实的程序运行离不开判断、循环、跳转等逻辑控制,这就是本篇的核心——Java流程控制。流程控制是所有编程语言的核心逻辑骨架,后续数组算法、集合遍历、业务代码开发,全部基于本篇知识点实现。本篇无门槛零基础教学,读完你将彻底掌握:if、if-else、多分支if-else if 完整用法与场景switch语句原理、穿透现象与避坑技巧。

2026-07-08 08:37:07 160

原创 【Java零基础连载02】Java基础语法全解|变量、数据类型与运算符

上一篇我们搭建好了完整的Java开发环境,成功运行了第一个HelloWorld程序,正式踏入了Java编程的大门。本篇开始,我们正式学习Java核心基础语法,语法是编程的根基,所有项目开发、业务代码、算法逻辑,都是基于基础语法编写而成。变量、数据类型、运算符,零基础无门槛,看完即可上手基础编码。读完本篇你将掌握:变量的定义、使用场景与分类差异Java8大基本数据类型全覆盖掌握数据类型转换规则与避坑技巧全套运算符实战用法与优先级排序经典语法错题、面试基础题型解析。

2026-07-08 08:36:47 153

原创 【Java零基础连载01】Java入门环境搭建与JVM核心认知(新手必看)

很多初学Java的同学,第一步就卡在环境配置和底层概念理解上。本篇作为整个Java基础连载专栏的开篇第一篇,不讲废话,只讲新手必须掌握的:Java是什么、能干什么JDK / JRE / JVM 三者核心区别(面试必考)手把手 JDK 环境变量配置(Windows + Mac)IDEA 安装与项目创建HelloWorld 完整运行流程Java程序完整执行原理读完本篇,你将彻底打通Java入门第一道门槛。Java 是一种面向对象、跨平台、高性能、安全可靠。

2026-07-08 08:36:30 181

原创 【SpringBoot WebFlux篇】彻底弄懂WebFlux!异步非阻塞响应式编程入门详解

在传统业务开发中,我们长期使用架构,这套体系简单、好用、上手成本低,完美适配传统 CRUD 业务。但随着互联网业务迭代,高并发、海量请求、长连接推送、AI 流式对话、实时监控等场景越来越多,传统 MVC 架构的短板被无限放大:Tomcat 一线程一请求,并发高后线程池打满、队列阻塞大量空闲连接占用线程资源,服务器资源利用率极低阻塞 IO 无法支撑海量长连接、流式持续响应场景于是 Spring5 正式推出全新的响应式 Web 框架:Spring WebFlux。

2026-07-07 13:58:46 188

原创 【SpringBoot篇】SpringBoot WebFlux响应式编程响应式R2DBC完全解析:源码实现、优缺点、扩展点与落地实战方案

传统Spring MVC + JDBC/MyBatis的技术架构属于阻塞式同步模型,每一次数据库请求都会占用一个业务线程,线程在等待数据库IO响应期间处于阻塞状态,无法处理其他请求。在高并发、大流量场景下,线程池容易耗尽,出现接口超时、服务吞吐量瓶颈,无法适配微服务、云原生、高并发网关等高性能场景。是Spring5推出的非阻塞响应式Web框架,基于Reactor响应式编程模型,实现异步非阻塞请求处理,以少量线程支撑海量并发请求。而是JDBC的响应式替代规范,专为关系型数据库设计,实现全链路非阻塞数据库IO。

2026-07-07 12:00:00 551

原创 【SpringBoot篇】SpringBoot WebFlux响应式编程响应式Redis完全解析:源码实现、优缺点、扩展点与落地实战方案

是 SpringBoot 专为WebFlux 响应式编程模型设计的 Redis 自动化集成启动器,区别于传统同步版的,该组件完全基于非阻塞响应式实现,适配 Project Reactor 规范(Mono/Flux),是 WebFlux 技术栈中 Redis 缓存、分布式能力的核心依赖。组件底层默认依赖Lettuce。

2026-07-07 08:45:00 471

原创 【SpringBoot篇】SpringBoot WebFlux响应式编程响应式 MongoDB完全解析:源码实现、优缺点、扩展点与落地实战方案

是Spring Boot专为WebFlux响应式编程设计的MongoDB数据访问启动器,基于Reactor响应式规范、MongoDB Reactive Streams非阻塞驱动实现,彻底摒弃传统JDBC、阻塞式MongoTemplate的线程阻塞模型,适配Spring WebFlux全链路非阻塞、异步流式的编程架构,是高并发、低延迟、大流量微服务场景下MongoDB数据操作的核心解决方案。该组件完美契合WebFlux背压机制、异步调度、线程复用的核心特性,实现全链路响应式。

2026-07-07 08:30:00 869

原创 【SpringBoot篇】SpringBoot WebFlux响应式编程Scheduler完全解析:源码实现、优缺点、扩展点与落地实战方案

SpringBoot WebFlux是基于实现的非阻塞响应式Web框架,彻底颠覆了Spring MVC的Servlet阻塞线程模型。而Scheduler(调度器)是WebFlux响应式编程的核心线程调度基础设施,负责定义响应式数据流(Mono/Flux)的执行线程、执行时机、线程池策略与任务排队规则,是WebFlux实现高并发、低资源占用、非阻塞异步处理的核心根基。不同于传统Spring MVC一个请求绑定一个固定线程的模型,WebFlux通过Scheduler实现线程复用、任务解耦、异步调度、背压适配。

2026-07-06 14:46:05 374

原创 【SpringBoot篇】SpringBoot WebFlux响应式编程FilterFunction全解:源码剖析、实现原理、优缺点、扩展点与落地实战方案

是Spring WebFlux响应式编程体系中函数式风格的请求过滤器核心接口,隶属于org.springframework.web.reactive.function.server包,是WebFlux函数式路由体系专属的拦截组件。区别于WebFlux通用的WebFilter(全局过滤器),FilterFunction绑定RouterFunction函数式路由,支持路由级精准拦截,是响应式Web框架实现请求预处理、响应后处理、链路拦截、权限校验、日志埋点、限流熔断的核心能力载体。

2026-07-06 11:34:36 561

原创 【SpringBoot篇】SpringBoot WebFlux响应式编程RouterFunction全解析:源码、落地、优劣与扩展

是Spring WebFlux响应式Web框架中函数式路由核心组件,替代传统Spring MVC注解式路由(@RequestMapping、@GetMapping),是WebFlux函数式编程模型的核心入口。其核心作用是接收HTTP请求、匹配路由规则、绑定处理器函数,实现无注解、声明式、非阻塞、响应式的Web请求调度能力。与注解式路由的核心区别:注解路由是基于反射的声明式绑定,运行时自动扫描;RouterFunction是代码手动构建路由规则。

2026-07-06 10:41:16 401

原创 【SpringBoot篇】SpringBoot WebFlux响应式编程:Reactor-Netty EventLoop单线程多路复用深度解析(万级连接支撑原理、源码、落地实践、优缺点与扩展方案)

SpringBoot WebFlux是Spring5推出的非阻塞响应式Web框架,完全摒弃SpringMVC的Servlet阻塞模型,底层基于实现高性能网络通信。其核心核心能力为EventLoop单线程多路复用机制,可实现少量线程支撑万级并发连接,彻底解决传统阻塞IO模型「一线程一连接、线程池耗尽、高并发卡顿」的痛点。不同于传统SpringMVC基于Tomcat的BIO(阻塞IO)模型,WebFlux依托Java NIO多路复用+Reactor事件驱动模型,通过。

2026-07-05 10:15:00 358

原创 【SpringBoot篇】SpringBoot WebFlux响应式事务深度解析:R2DBC事务与MongoReactive事务(源码、实战、优劣、扩展)

在SpringBoot WebFlux响应式编程体系中,传统基于ThreadLocal的JDBC阻塞事务完全失效。传统事务依托线程绑定,通过ThreadLocal存储事务上下文,依赖阻塞IO实现事务生命周期管控;而WebFlux基于Reactor响应式模型、异步非阻塞、线程复用,上下文不绑定固定线程,因此诞生了响应式事务体系。Spring框架提供统一的响应式事务顶层规范,核心核心接口为,彻底适配异步非阻塞场景。R2DBC事务。

2026-07-05 10:00:00 372

原创 【SpringBoot篇】SpringBoot WebFlux响应式大文件流式上传下载实战(Flux<DataBuffer>低内存原理、源码解析、落地方案)

DataBuffer:WebFlux底层数据缓冲区,封装Netty ByteBuf,是响应式数据传输的最小单元,默认分片大小可配置:0-N个DataBuffer的流式序列,对应大文件的分片数据流,是大文件上传下载的核心载体背压(Backpressure):响应式核心机制,下游处理速率不足时,向上游传递限流信号,控制数据生产速率极致低内存占用:内存占用恒定,与文件大小无关,支持TB级大文件传输,彻底杜绝OOM高并发高吞吐:Netty事件驱动+非阻塞IO,单服务可支撑千级并发大文件传输,远超MVC同步架构。

2026-07-04 08:45:39 384

原创 【SpringBoot篇】SpringBoot WebFlux响应式编程:高并发数据流处理与OOM根治方案(源码解析+落地实战+扩展优化)

在传统Spring MVC同步阻塞架构中,系统采用一请求一线程模型,每一个HTTP请求都会独占一个Tomcat线程,直至请求处理完毕、响应返回。在秒杀、实时数据流推送、海量日志采集、批量文件解析等高并发、大流量、长连接场景下,会暴露两大致命问题:1. 线程资源耗尽:海量请求涌入时,Tomcat线程池快速打满,请求排队、服务雪崩;2. 内存溢出(OOM)频发:生产者数据生成速度远大于消费者处理速度,同步架构无流量管控机制,未处理的请求、数据流、对象实例持续堆积在JVM堆内存,最终触发Heap OOM、Dire

2026-07-04 08:45:27 475

原创 【SpringBoot篇】SpringBoot WebFlux响应式编程WebClient深度解析:源码、原理、优缺点、扩展点与落地实战

WebClient是 Spring 5 及 SpringBoot 2.0+ 全新推出的响应式非阻塞HTTP客户端,隶属于 Spring WebFlux 响应式编程模块,是 Spring 官方为替代废弃的 RestTemplate 推出的现代化服务通信组件,全面适配响应式编程模型,适配微服务高并发、大流量、流式数据传输场景。区别于传统 Spring MVC 同步阻塞的 RestTemplate,WebClient 基于实现,遵循 Reactive Streams 响应式规范,支持。

2026-07-03 16:14:44 275

原创 【SpringBoot篇】SpringBoot WebFlux 响应式编程Mono Flux 核心源码解析、实现原理、优缺点、扩展点及落地实战方案

是 Project Reactor 响应式编程框架的核心基础包,是 Spring WebFlux、Spring Cloud 响应式生态、Reactor Netty 等主流非阻塞技术的底层基石,严格遵循Reactive Streams 1.0 官方规范,专为 JVM 平台设计高性能、低延迟、背压可控的异步流式编程解决方案。不同于传统 Java 同步编程、RxJava 宽泛响应式实现,reactor.core 主打语义精准、生态适配 Spring、无阻塞、背压自适应、可组合式异步编排。

2026-07-03 14:29:14 267

扩展支撑easyexcel支持单列数据相同值合并

前置依赖合并规则: 假设字段顺序:A (@ExcelColumnMerge) → B (@ExcelColumnMerge) → C (不合并) 同一行区间,如果 A 列没有形成合并段(上下值不一样),那么 B 列即使连续相同值,禁止合并; 只有前面所有标记合并的列连续值完全一致,当前列才允许合并; 使用方式:直接添加在对象属性添加注解即可 // 第0列,一级合并列(最左侧) @ExcelColumnMerge @ExcelProperty("商品大类") private String category1; // 第1列,二级合并列(依赖左边category1完全相同才会合并) @ExcelColumnMerge @ExcelProperty("商品小类") private String category2; // 普通列,不参与合并逻辑 @ExcelProperty("商品名称") private String productName; // 第3列,三级合并列(依赖左侧category1、category2全部相同才合并) @ExcelColumnMerge @ExcelProperty("售价") private Double price;

2026-07-10

Java后端导出场景 EasyExcel自定义列链接地址完整落地解决方案 - 多链接支撑

在日常Java后端Excel导出业务中,普遍存在以下核心痛点,原生EasyExcel无法直接适配: - 固定模型局限:原生EasyExcel基于实体类注解导出,列结构固定,无法实现动态自定义导出列,无法满足用户按需选择导出字段的需求 - 超链接导出空白/失效:直接拼接URL字符串导出仅展示文本,无法生成Excel可点击跳转的超链接单元格,业务溯源、详情跳转需求无法落地 - 长短文本适配问题:链接地址过长时,原生导出会出现单元格溢出、排版错乱、链接截断、点击失效等问题 - 样式无法统一:超链接列无默认样式(蓝色、下划线),与普通文本无区分,用户体验差 - 大批量导出内存隐患:传统POI原生API导出超链接容易加载全量数据至内存,引发OOM内存溢出 扩展版本:easyexcel3.1.1版本

2026-07-09

JAVA定制化自动生成代码

生成平台风格代码 会生成信息: 1.对应的controller、service、serviceImpl、entity、Mapper、xml 2.会初始化生成如下方法: addOrUpdate: 添加或者更新 delEntityById: 删除某条数据 getEntityById: 通过主键ID查询某条数据 searchList: 列表查询

2026-07-09

【C语言开发】基于Makefile的自动化编译系统设计:实现多模式构建与静态动态库生成的一体化工程方案

内容概要:本文提供了一个完整的Makefile自动化编译实战项目,通过构建一个标准的C语言工程,详细展示了如何使用Makefile实现项目的自动化编译与管理。项目包含清晰的目录结构、头文件与源码实现,并提供功能强大的Makefile脚本,支持自动依赖生成、Debug/Release双模式编译、静态库与动态库构建、自动目录创建、清理编译产物以及系统级安装等功能。配合详细的使用教程和关键特性说明,读者可快速掌握工业级Makefile的应用方法。; 适合人群:具备基本C语言和Linux开发环境操作能力,从事嵌入式开发、系统编程或希望提升项目自动化构建能力的1-3年经验开发者; 使用场景及目标:①学习Makefile在实际项目中的标准化应用;②掌握自动化编译、依赖管理、多模式构建等核心技能;③将通用Makefile模板复用于个人或团队项目中,提高工程效率; 阅读建议:建议动手实践,按照文档结构逐一搭建项目并执行各项make命令,结合运行效果理解Makefile各部分作用,重点关注变量定义、模式规则、伪目标和依赖文件的自动生成机制。

2026-07-07

【数据库应用】基于MySQL 8.0的电商订单、用户行为与金融交易综合分析实战:多场景SQL全流程设计

内容概要:本文档提供了一套完整的可执行SQL实战项目,涵盖电商订单分析、用户行为漏斗分析和金融交易统计三大典型业务场景。通过一键执行的建表语句、测试数据插入及真实企业级统计SQL,全面模拟实际数据分析流程。每个场景均包含数据库表结构设计(含业务注释与复合索引)、测试数据构建以及贴合企业报表需求的核心分析SQL,涉及GMV、转化率、用户分层、收支盈亏等关键指标的计算与呈现。 适合人群:具备基础SQL技能,从事数据分析、数据运营、后端开发或想提升实战能力的数据相关岗位人员,尤其适合初入职场1-3年内的从业者。 使用场景及目标:①掌握多场景下数据库建模与索引设计方法;②练习复杂SQL编写,如窗口函数、CTE、多表连接与条件聚合;③理解电商、金融等领域常见业务指标的SQL实现逻辑;④用于面试准备、项目练手或教学演示。 阅读建议:建议在Navicat或DBeaver等工具中完整运行脚本,结合每条SQL的业务背景进行调试与扩展练习,深入理解各分析逻辑背后的业务含义与技术实现细节。

2026-07-07

JDK-API-1-6

关于jdk函数方法的详解,方便使用与查阅

2015-07-22

JavaScript语言参考.chm

JavaScript语言参考的工具类,可以下载,离线版的

2015-09-11

JAVA解析JSON数据 -JsonPath生产级工具类

还在手写层层嵌套的JSON解析代码?冗余繁琐还容易线上报错!今天分享一套可直接上线的Java JsonPath生产级工具类,自带空值兜底、异常拦截、NPE全方位防护,完美解决路径不存在、类型转换异常、空数据崩溃等常见问题。支持复杂嵌套JSON解析、数组条件过滤、节点增删改等全业务场景,SpringBoot开箱即用,极简代码轻松搞定所有JSON解析难题!

2026-07-07

彻底告别if/else!手写轻量级表达式规则引擎,生产直接可用

生产级自研轻量级条件表达式解析引擎,纯Java实现、无重型框架依赖、支持多层括号嵌套、支持数值比对、字符串模糊匹配、逻辑与或组合,所有规则可配置、可落库、可动态刷新,彻底干掉业务硬编码。 public static void main(String[] args) throws Exception { // System.out.println(ParserUtil.calculate("( $.name CONTAINSNOT zhangsan ) and ( $.age > 12 )", "{\"name\":\"zhangsaan1\",\"age\":14}")); System.out.println(ParserUtil.calculate("( $.name = zhangsan ) and ( ( ( $.age >= 10 ) and ( $.tex >= 10 ) ) and ( $.age <= 13 ) )", "{\"name\":\"zhangsan\",\"age\":12,\"tex\":12}")); // System.out.println(ParserUtil.calculate("( $.name = zhangsan ) and ( $.age >= 12 )", "{\"name\":\"zhangsan\",\"age\":11}")); }

2026-07-07

解析xml文件

关于解析xml的几种常见的方法的具体书写

2015-07-22

Spring框架的流程

关于Spring框架的流程,以及各层次的内容

2015-07-22

Oracle教程.pdf

Oracle教程。详细分析

2016-07-15

spring-boot-reference-guide-zh

spring-boot-reference-guide-zh

2016-08-27

JavaScript权威指南(第6版)中文版

JavaScript权威指南(第6版)中文版 不可多的javascript工具类

2015-08-10

jenkins-插件

jenkins-插件jenkins-插件

2016-11-14

spring-boot-samples-master

spring-boot-samples-master

2016-08-27

常见数据库场景分析

关于关系型数据库和非关系型数据库(NoSQL)的分析

2016-08-07

jspdf_plugins

jspdf_plugins的部分组件的js文档

2015-11-23

Jenkins 文档

Jenkins

2016-11-09

ojdbc14.jar

称: ojdbc14 资源类型

2016-10-17

MySQL5.1参考手册官方简体中文版.chm

MySQL5.1参考手册官方简体中文版,欢迎下载。离线版本的

2015-09-11

W3school.chm

w3School离线版本,有需要的可以进行下载

2015-09-11

Css样式.chm

需要的朋友们赶紧下载。离线版本的,欢迎欢迎

2015-09-11

上传文件jar

上传文件jar,仅仅是一个上传图片的jar,运用jsp+servlet结合的项目单个图片上传

2015-10-09

Hibernate中文参考文档 V3.2.chm

Hibernate中文参考文档 V3.2.chm

2015-07-21

Struts2笔记

关于Struts2进行个人的理解,然后总结的笔记

2015-07-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除