Dolphin_Home
码龄8年
求更新 关注
提问 私信
  • 博客:97,075
    97,075
    总访问量
  • 91
    原创
  • 388
    粉丝
  • 21
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
加入CSDN时间: 2018-03-24
博客简介:

DolphinHome的博客

查看详细资料
个人成就
  • 获得1,346次点赞
  • 内容获得2次评论
  • 获得1,203次收藏
  • 代码片获得1,132次分享
  • 博客总排名16,839名
  • 原力等级
    原力等级
    4
    原力分
    671
    本月获得
    102
创作历程
  • 69篇
    2025年
  • 22篇
    2024年
成就勋章
TA的专栏
  • MySQL
    2篇
  • 私有_案例分析
    23篇
  • 生产环境_场景抽象
    62篇
  • Java
    10篇
  • SQL
    4篇
  • Docker
    14篇
  • Minio
    1篇
  • Nacos
    1篇
  • Seata
  • Redis
    1篇
  • RocketMQ
  • Skywalking
  • RabbitMQ
  • Nginx
  • Spring Boot
    33篇
  • 代码规范
    24篇
  • bug总结
    5篇
  • Windows Shell
    1篇
  • 控制台
    1篇
  • Debug
    3篇
  • 接口幂等性
    3篇
  • 事务隔离
    2篇
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

34人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 问答
  • 帖子
  • 社区
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 问答

  • 帖子

  • 社区

搜索 取消

从理论到实战:图结构在仓库关联业务中的落地(小白→中级,附完整代码)

数据冗余:间接关联的节点(36和39)被错误存储为直接边,增加了不必要的数据。逻辑异常:冗余的直接边导致删除操作出现非预期结果,影响后续库存上限合并的准确性。性能下降:后续查询所有关联仓库时,需要遍历更多的边,降低查询效率。图的基础:节点、边、无向图、连通图、BFS/DFS是处理关联业务的基础。业务与算法结合:在实现业务代码前,要先明确业务模型(如无向连通图),再选择合适的技术方案。方案选择:边存储适合简单关联,分组模型适合连通图场景,尤其是后续有批量查询需求的业务。
原创
博文更新于 前天 18:55 ·
693 阅读 ·
24 点赞 ·
0 评论 ·
8 收藏

从踩坑到进阶:无向连通图下仓库关联关系的正确维护姿势(小白→中级)

间接关联的节点(36和39)被错误存储为直接边。冗余的直接边导致删除操作出现非预期结果。间接关联不需要存储为直接边。无向连通图场景中,边存储模型容易产生冗余边,而分组模型更适合管理连通分量。图的遍历(BFS/DFS)是处理连通图的基础,需要掌握其核心逻辑(队列/递归+已访问集合)。业务开发中,要先理解业务模型(如无向连通图),再选择技术方案,而非盲目使用直观的实现。
原创
博文更新于 前天 18:41 ·
717 阅读 ·
4 点赞 ·
0 评论 ·
22 收藏

【实用工具类】NullSafeUtils:一站式解决Java空值安全与通用操作(附完整源码)

在Java开发中,空指针异常(NPE)是最常见的运行时异常之一,同时日期处理、字符串操作、数学运算等通用功能的分散实现也会导致代码冗余、维护成本高。今天给大家分享一款一站式的工具类,它以为核心设计思想,覆盖空值判断、字符串/集合处理、数学运算、日期时间操作、IP获取等高频场景,帮你告别重复造轮子,提升开发效率。
原创
博文更新于 2025.12.12 ·
988 阅读 ·
33 点赞 ·
0 评论 ·
29 收藏

告别手动替换!MyBatis SQL日志一键解析工具(附完整源码)

在日常开发中,我们经常需要通过 MyBatis 日志排查 SQL 问题,但 MyBatis 输出的日志中,SQL 语句的参数会以 占位符显示,例如:如果要直接在数据库中执行这条 SQL,需要手动将 替换为实际参数,不仅麻烦还容易出错(尤其是参数较多时)。今天给大家分享一个 MyBatis SQL 日志一键解析工具,无需复杂配置,粘贴日志即可生成可直接执行的 SQL,彻底解放双手!从日志文件或控制台中,复制包含 和 的完整日志片段(示例如下):步骤2:粘贴并解析打开工具页面,将复制的日志粘贴到
原创
博文更新于 2025.12.12 ·
925 阅读 ·
25 点赞 ·
0 评论 ·
22 收藏

Java Stream API 深度实战:电商业务场景全方位解析与优化

/ 场景:计算各商品退货率},},stats -> {));// 数据类@Data业务价值:识别高退货率商品,优化商品质量和描述技术深度自定义 Collector 实现复杂业务逻辑聚合线程安全考虑:combiner 函数确保并行流正确性延迟计算:在 finisher 阶段计算最终退货率// 自定义Collector:计算用户复购率},},stats -> {
原创
博文更新于 2025.12.12 ·
1135 阅读 ·
19 点赞 ·
0 评论 ·
21 收藏

Java Stream API 实战:电商业务高频操作全解析

/ 订单金额统计摘要System.out.println("总金额: " + stats.getSum());System.out.println("平均金额: " + stats.getAverage());System.out.println("最大金额: " + stats.getMax());业务场景:财务报表生成、销售数据分析// 计算最高价值订单o1 : o2);业务场景:VIP客户识别、大额交易监控操作选择原则转换用map(),扁平化用flatMap()分组用,分区用匹配用。
原创
博文更新于 2025.12.12 ·
713 阅读 ·
11 点赞 ·
0 评论 ·
18 收藏

Java Stream 实战:订单商品ID过滤技巧(由浅入深)

匹配操作选择anyMatch():存在至少一个满足条件的元素allMatch():所有元素都满足条件:没有元素满足条件性能优化原则优先使用短路操作(anyMatch/allMatch)大数据量考虑并行流避免嵌套多层filter可读性提升技巧// 提取Predicate提升可读性= null;经验分享:在实际项目中,这类过滤操作可封装为独立方法,结合Spring的@Service注解实现复用。例如订单校验服务、库存预检服务等场景均可使用此模式。
原创
博文更新于 2025.12.12 ·
318 阅读 ·
3 点赞 ·
0 评论 ·
10 收藏

【实用工具类】基于 Guava Cache 实现通用 Token 缓存工具类(附完整源码)

这个TokenCache工具类封装了Guava Cache的核心能力,通过泛型和便捷的API设计,解决了Token缓存的通用场景需求。代码简洁、易扩展,可直接集成到项目中,减少重复开发成本。如果你的项目中有Token缓存的需求,不妨试试这个工具类,也欢迎在评论区交流优化建议~Guava Cache官方指南。
原创
博文更新于 2025.12.10 ·
1052 阅读 ·
30 点赞 ·
0 评论 ·
22 收藏

Java Stream 数据处理笔记:从嵌套集合中过滤特定类别的Map

扁平化嵌套结构:使用flatMap将转换为Stream<T>过滤条件放置:在收集前进行过滤,避免处理不必要的数据空值安全:多层空值检查防止NPE性能优化先过滤后映射大数据量使用并行流使用合适的Map实现(如用于并行流)冲突处理:指定合并函数处理键冲突通过以上方法,您可以高效地从复杂嵌套结构中提取并过滤特定类别的数据,构建所需的Map结构。这种模式在实际项目中非常常见,掌握这些技巧能显著提升代码质量和开发效率。
原创
博文更新于 2025.12.09 ·
573 阅读 ·
5 点赞 ·
0 评论 ·
5 收藏

构建高效可靠的JSON处理工具类:从Jackson到JsonUtil的深度解析

JsonUtil通过精心设计,解决了Jackson使用中的常见痛点,提供了一个线程安全、配置完善、易于扩展的JSON处理工具。减少样板代码:统一的配置和方法,避免重复提升可靠性:默认配置覆盖大多数场景,减少配置错误增强可维护性:清晰的API设计和文档,便于团队协作提供扩展能力:安全的自定义机制,适应不同需求未来,JsonUtil增加对JSON Schema验证的支持提供更细粒度的配置选项优化高频场景下的性能在现代Java开发中,一个可靠的JSON工具类是提升开发效率和代码质量的关键。
原创
博文更新于 2025.12.09 ·
971 阅读 ·
33 点赞 ·
0 评论 ·
12 收藏

枚举设计的优雅进阶:函数式接口让枚举拥有“自定义大脑“

/ 新增每月1号执行的任务NEW_TASK(6,"【月度统计任务】",...,// 自定义规则:每月1号+预期数据>5枚举的设计不止于“常量定义”,合理结合函数式接口,能让枚举焕发更强的生命力。在实际开发中,当我们遇到“多个常量需各自实现个性化逻辑”的场景时,不妨尝试这种思路——它能帮助我们写出更简洁、更灵活、更易维护的代码,同时也能让我们对枚举和函数式编程的理解更上一层楼。技术的优雅往往源于“精准解决痛点”,而这种设计正是对这一理念的最佳诠释。
原创
博文更新于 2025.12.04 ·
715 阅读 ·
18 点赞 ·
0 评论 ·
15 收藏

枚举设计巧思:用函数式接口让每个选项“自带逻辑”

函数式接口的核心是“单一抽象方法”,这里我们定义// 输入:当前时间戳、预期数据;输出:是否执行用注解明确接口类型,确保只有一个抽象方法,支持Lambda表达式直接实现。传统枚举的核心价值是“固定选项的规范化”,而“函数式接口+枚举”的设计,让枚举突破了“仅存储数据”的局限,成为“数据+逻辑”的聚合单元。这种设计既保留了枚举的简洁性,又通过Lambda表达式实现了逻辑的灵活定制,完美解决了“每个选项需要个性化逻辑”的开发痛点。
原创
博文更新于 2025.12.04 ·
769 阅读 ·
25 点赞 ·
0 评论 ·
17 收藏

接口字段入参出参分离技巧:从注解到DTO分层实践

在Java后端开发中,“入参需接收、出参需隐藏”是高频需求,例如筛选条件、权限字段、临时验证参数等,若处理不当易导致接口冗余或信息泄露。本文结合数据筛选、权限字段、临时参数三类核心场景,通过订单查询、用户列表、表单提交等具体业务案例,由浅入深分享两种落地方案,兼顾开发效率与代码规范性。核心思路:使用Jackson的注解,仅允许字段“接收参数”,禁止“序列化返回”,改动成本极低,适合简单场景。默认使用注解会同时禁用序列化(返回JSON) 和反序列化(接收参数),导致字段既不能接收也不能返回,无法满足“入参要、
原创
博文更新于 2025.12.04 ·
881 阅读 ·
8 点赞 ·
0 评论 ·
10 收藏

深度解析:SpringBoot 静态类调用 Bean 的底层逻辑与最优实践

静态类的“类级加载”与Spring Bean的“实例级管理”是两条平行的生命周期线,直接交叉必然产生冲突。所有解决方案的核心,都是通过“桥梁”让两条线产生可控的关联,本质是“生命周期对齐”或“上下文共享”。不要直接给静态变量加@Autowired:Spring不支持静态变量注入,必然失败。原型Bean避免使用实例绑定模式:静态变量会持有固定实例,导致多线程环境下的状态混乱。启动阶段禁止调用静态方法:需确保容器初始化完成后再调用,可通过监听。循环依赖处理:构造器注入模式下,若存在循环依赖,需改用。
原创
博文更新于 2025.12.03 ·
1225 阅读 ·
20 点赞 ·
0 评论 ·
15 收藏

笔记:SpringBoot静态类调用Bean的2种方案(小白友好版)

场景描述推荐方案理由静态工具类不想被Spring管理、需保持独立性方案一:SpringContextHolder侵入性低,工具类可脱离Spring使用静态工具类仅在Spring环境中使用、逻辑简单方案二:@PostConstruct无需新增中间类,代码量少,实现简单项目中静态工具类较多、需统一管理方案一:SpringContextHolder中间类可复用,维护成本低不想新增额外类、快速实现需求方案二:@PostConstruct直接改造工具类,几分钟就能搞定。
原创
博文更新于 2025.12.03 ·
530 阅读 ·
25 点赞 ·
0 评论 ·
18 收藏

笔记:SpringBoot中静态工具类调用Bean的终极方案(小白友好版)

静态类不能直接@Autowired:因为加载时机不对,Spring还没初始化Bean;SpringContextHolder是“桥梁”:保存Spring的ApplicationContext,让静态类能拿到Bean;关键限制:必须在Spring启动完毕后使用,否则拿不到Bean。
原创
博文更新于 2025.12.03 ·
726 阅读 ·
11 点赞 ·
0 评论 ·
16 收藏

Spring 事务避坑笔记:从入门到解决自调用陷阱

事务就是一组要么全成功、要么全失败的操作。比如银行转账:从A账户扣钱、给B账户加钱,这两步必须同时成功——如果扣钱后系统崩溃,加钱没执行,A的钱就“凭空消失”了,这时候就需要事务让扣钱操作“回滚”,恢复到之前的状态。事务生效的前提:必须是Spring代理对象调用public方法,才会生效自调用失效的根源this调用绕开了代理,注解没被执行解决方案优先级优先选「拆分Service」(规范、易维护)快速解决选「自注入」或「AopContext」(改动小)复杂场景选「AspectJ」(彻底解决)
原创
博文更新于 2025.12.01 ·
948 阅读 ·
16 点赞 ·
0 评论 ·
17 收藏

DPD Cloud Service setOrder 接口开发文档【对接分享】

setOrder接口是 DPD Cloud Service 的核心接口之一,用于。支持以下场景:德国境内包裹配送德国发往 DPD 国际配送目的地国家/地区的包裹(需选择对应国际配送产品)单个订单或批量订单(最多 30 个订单同时发起)标准配送、退货配送、自提点配送等多种配送类型(注:货到付款COD服务已完全取消)生成标签时必须提供以下信息:所需的发货日期,以及输出格式和打印位置包裹尺寸与重量、包裹内容物,以及寄件地址配送产品 (经典配送、退货配送等)
原创
博文更新于 2025.11.28 ·
295 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

Lombok @Builder 集合字段初始化“坑“:空指针异常排查指南【精简版】

/ 自定义builder方法操作方式字段初始化流程结果字段默认初始化 → 构造器Builder设置字段 → 全参构造器赋值@Builder通过全参构造器创建对象时,会覆盖字段声明时的默认初始化值,导致集合字段为null。
原创
博文更新于 2025.11.27 ·
354 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

Lombok @Builder 集合字段初始化“坑”:空指针异常的血泪经验

Builder 与集合的“天生冲突”:只要用@Builder构建对象,未通过 Builder 赋值的集合字段,默认会是 null,无论是否在声明时初始化;优先用 @Builder.Default:Lombok 版本支持的话,这是最简洁的解决方案,一劳永逸;防御性编程习惯:操作集合前务必检查是否为 null,尤其是在使用 Lombok 注解、框架自动注入等场景下,不要轻信“声明时已初始化”;团队规范同步:将此坑纳入团队编码规范,避免新人重复踩坑,提升整体开发效率。
原创
博文更新于 2025.11.27 ·
487 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏
加载更多