- 博客(653)
- 收藏
- 关注
原创 栈:线性结构中的 “后进先出” 王者,从底层逻辑到实战应用全解析
本文深入解析栈(Stack)数据结构及其应用。栈作为后进先出(LIFO)的线性结构,广泛应用于计算机科学领域。文章首先介绍栈的基本概念和核心操作,对比其与队列的区别。随后详细讲解数组栈和链表栈两种实现方式,分析各自的性能特点和应用场景。重点探讨栈在实际开发中的典型应用,包括括号匹配、表达式转换与求值、浏览器历史记录管理等,并提供完整的Java实现代码。最后通过一个SpringBoot项目案例,展示如何利用栈实现日志系统的撤销/重做功能。
2025-11-24 16:28:28
819
原创 链表:从底层逻辑到实战应用,彻底搞懂线性结构的灵魂!
本文深入解析链表数据结构,对比其与数组的核心差异,分析单链表、双向链表和循环链表的实现原理及操作特性。通过Java代码示例演示链表的基本操作和经典算法(如反转链表、环形检测),并探讨链表在LRU缓存、数据库索引等实际场景中的应用。文章还提供链表性能优化技巧和常见问题解决方案,帮助开发者深入理解链表底层逻辑,掌握高效使用链表的实践方法。
2025-11-24 14:48:34
920
原创 从底层到实战:彻底搞懂队列,让你的代码效率翻倍!
本文深入解析了队列这一基础数据结构,从底层原理到实际应用全面展开。首先介绍了队列的核心特性——先进先出(FIFO)原则,详细对比了基于数组的循环队列和基于链表的链式队列两种实现方式及其优缺点。然后探讨了两种特殊队列:支持双端操作的双端队列(Deque)和按优先级出队的优先级队列(PriorityQueue)。在应用层面,文章通过线程池任务队列、消息队列中间件和广度优先搜索算法等典型场景,展示了队列在工程实践中的重要作用。最后给出了队列性能优化建议和最佳实践,帮助开发者合理选择队列实现方案。
2025-11-24 14:41:20
449
原创 数组:线性结构的基石,你真的懂透了吗?
本文深入剖析数组这一基础数据结构,从底层原理到实际应用全面解析。文章首先阐述数组的三大核心特征:线性结构、同类型元素和连续内存存储,揭示其O(1)随机访问性能的根源。通过Java代码示例详细演示数组的增删查改操作,分析不同操作的时间复杂度。特别探讨ArrayList的动态扩容机制及优化策略,并解析多维数组的存储原理。最后结合二分查找算法和用户标签管理系统等实战案例,说明数组在算法和业务中的典型应用场景,同时指出常见使用误区和性能优化技巧。
2025-11-24 14:30:18
184
原创 RocketMQ 拉模式核心解密:长轮询 + 定时拉取的底层逻辑与实战落地
RocketMQ拉模式消费机制通过长轮询与定时拉取的协同设计,实现了高效可靠的消息处理。长轮询机制让Broker在无消息时挂起请求,减少无效查询;定时拉取作为兜底策略,确保消息不丢失。该方案平衡了实时性与资源消耗,相比传统短轮询可减少90%的无效请求。实战中需合理配置长轮询超时(建议30秒)和拉取间隔(建议25秒),并配合幂等性设计防止重复消费。这种组合策略使RocketMQ在高并发场景下既能保持低延迟,又能避免Consumer过载,是分布式消息处理的优选方案。
2025-11-24 14:07:14
633
原创 RocketMQ 架构演进:从单机到海量消息的集群扩容与分片策略深度解析
摘要:本文深入探讨RocketMQ在海量消息场景下的架构演进与优化策略。作为分布式消息中间件,RocketMQ通过从单机到分片集群的架构演进,实现了百万级TPS处理能力。重点分析了集群扩容面临的四大挑战及解决方案,包括NameServer高可用、Broker负载均衡、主从数据同步和消费重平衡。详细阐述了哈希分片、范围分片等核心策略的实现原理,并通过电商订单系统案例验证了优化效果(吞吐量提升50%,延迟降低75%)。
2025-11-24 13:51:53
451
原创 揭秘 RocketMQ 推 / 拉模式:90% 开发者都踩坑的设计逻辑与实战选型指南
《RocketMQ推/拉模式深度解析与选型指南》摘要: 本文深入剖析RocketMQ消息消费的两种核心模式。推模式由Broker主动推送,实时性高(毫秒级),适合订单通知等低延迟场景;拉模式由消费者主动拉取,可控性强,适合日志收集等批量处理场景。通过技术原理对比、代码示例和性能分析,文章指出:推模式简化编程但存在过载风险,拉模式灵活可控但实时性较差。最佳实践建议根据业务特性选择,实时业务用推模式+流量控制,批量处理用拉模式+位点管理,复杂场景可采用混合模式。
2025-11-24 13:40:00
380
原创 从 Kafka 到 RocketMQ:迁移实战全攻略
本文探讨了从Kafka迁移到RocketMQ的实战经验,重点分析了迁移背景、兼容改造方案、性能对比和常见问题规避策略。在金融级可靠性需求驱动下,通过适配器模式实现API层兼容,利用RocketMQ Proxy实现协议层兼容,并采用双写双读+数据同步工具确保消息平滑过渡。性能测试显示RocketMQ在生产吞吐量、消费吞吐量和消息延迟方面均优于Kafka15%-25%,尤其适合金融交易等核心场景。
2025-11-24 09:52:57
734
原创 Spring Cloud Alibaba RocketMQ 实战:从底层原理到微服务落地全攻略
本文深入探讨了SpringCloudAlibaba与RocketMQ的集成应用,为微服务架构提供高效消息通信解决方案。主要内容包括: 核心原理:解析RocketMQ架构组件与SpringCloudAlibaba集成机制 环境搭建:详细指导RocketMQ单机/集群部署和微服务项目配置 实战案例:演示7种消息模式(简单/顺序/事务/延迟/批量/过滤/死信消息) 微服务场景:订单-库存-支付流程解耦、异步通信、秒杀削峰等典型应用 性能优化:提供生产者、消费者和Broker的调优策略 。
2025-11-21 18:05:12
1187
原创 RocketMQ 进阶实战指南:定时任务 + 延迟队列落地复杂业务
RocketMQ定时消息与延迟队列实战解析 本文针对分布式系统中常见的定时/延迟任务场景,基于RocketMQ 5.x版本提供了完整的解决方案。文章首先分析了传统方案(数据库轮询、定时任务框架等)的局限性,详细讲解了RocketMQ的TimerIndexFile存储结构和调度流程等核心原理。
2025-11-21 17:53:34
748
原创 RocketMQ 消息丢失?从根因到根治的全方位解决方案
本文深入剖析RocketMQ消息丢失问题及解决方案。在生产者阶段,通过可靠发送(同步/异步发送+重试)和本地事务表兜底,确保消息持久化;Broker阶段配置同步刷盘和主从同步,防止节点宕机导致丢失;消费者阶段采用手动提交offset、幂等处理和死信队列机制,避免处理失败导致消息丢失。通过生产端重试、Broker持久化和消费端手动提交的组合策略,构建全链路可靠消息系统,实现"零丢失"目标。文中包含详细的代码示例和配置说明,提供可落地的技术方案。
2025-11-20 14:56:41
530
原创 RocketMQ 性能调优封神篇:10 个参数让吞吐量狂飙 3 倍
本文针对RocketMQ在高并发场景下的性能优化,提出了10个关键参数的调优方案。通过分析底层存储机制、线程模型等核心原理,结合官方文档和实测数据,详细阐述了每个参数的优化逻辑和配置方法。重点包括:发送线程池数、CommitLog文件大小、批量发送开关、消费线程数等关键参数调优,并提供了完整的配置示例。测试结果显示,优化后系统吞吐量提升202%,延迟降低27%。文章还补充了CommitLog存储结构原理,强调调优需循序渐进,根据不同业务场景选择发送方式,同时做好监控。
2025-11-20 14:18:32
287
原创 RocketMQ 事务消息深度揭秘:两阶段提交如何守护分布式一致性?
RocketMQ事务消息详解:分布式事务的终极解决方案 本文深入解析了RocketMQ事务消息的核心机制,通过两阶段提交实现分布式事务一致性。主要内容包括: 原理剖析 半消息机制:消息暂存Broker但不可见 两阶段提交:先存储消息,后执行本地事务 事务回查:网络异常时的兜底保障 实战案例 基于SpringBoot实现"订单+库存"分布式事务 完整代码示例:生产者、消费者、事务监听器 异常场景测试验证 关键点 半消息与普通消息的区别 事务回查与消息重试的差异 常见问题解决方案。
2025-11-20 14:14:40
408
原创 RocketMQ 高可用基石深度解密:主从复制与故障自动切换的底层逻辑与实战
本文深入剖析了Apache RocketMQ高可用架构的实现原理。从主从复制的两种模式(同步/异步)入手,详细解析了数据传输流程和核心组件;重点阐述了基于Raft协议的DLedger故障自动切换机制,包括选举规则和切换流程。通过实战案例演示了DLedger集群搭建与故障模拟,验证了自动选举新Leader的能力。文章还总结了复制延迟、脑裂等常见问题的优化策略,强调根据不同业务场景平衡性能与可靠性。最终得出结论:DLedger模式通过Raft协议实现了强一致性和自动容错,是保障RocketMQ高可用的最佳实践。
2025-11-20 14:11:01
865
原创 RocketMQ 消息投递三板斧:同步 / 异步 / 单向底层原理与实战拆解
本文深入解析RocketMQ三种消息投递模式:同步发送(阻塞等待ACK,可靠性最高)、异步发送(非阻塞+回调,性能较好)和单向发送(无响应,性能最优)。从底层原理到实战代码,详细对比了它们在可靠性、性能、线程模型等方面的差异,并给出最佳实践建议:核心业务用同步,非核心用异步,日志类允许丢失的场景用单向。文章还提供了常见问题排查方法和性能优化建议,帮助开发者根据业务需求合理选择投递模式。
2025-11-20 13:54:57
790
原创 RocketMQ 核心解密:NameServer 路由发现与负载均衡的底层逻辑全解析
本文深入解析RocketMQ中NameServer的核心机制与负载均衡策略。作为轻量级路由中心,NameServer采用无状态设计和心跳机制维护Broker集群路由信息,保证分布式系统的高可用性。文章详细剖析了NameServer的路由发现机制,包括Broker注册流程、心跳维护及剔除逻辑。同时深入探讨了生产者端的轮询、随机、一致性哈希等负载均衡策略,以及消费者端的队列分配算法。
2025-11-20 13:50:37
538
原创 RocketMQ 生产级踩坑指南:消息积压与重复消费根治方案
本文深入探讨RocketMQ在生产环境中的两大核心问题:消息积压和重复消费。针对消息积压问题,从生产者、Broker和消费者三个层面分析原因,提供应急扩容方案和长期根治方案,包括限流、批量消费、合理规划Topic等优化策略。对于重复消费问题,重点阐述了幂等性解决方案,包括数据库唯一键、乐观锁和分布式锁三种实现方式,并给出完整的代码示例。文章还总结了生产环境最佳实践,涵盖容量规划、监控告警和运维规范等方面。
2025-11-20 13:38:46
691
原创 RocketMQ 存储底层深扒:CommitLog+ConsumeQueue 如何撑起千万级消息吞吐?
RocketMQ的高性能消息存储机制基于CommitLog与ConsumeQueue的协同设计。CommitLog作为全局顺序写入的中央仓库,所有消息按时间顺序存储,最大化磁盘顺序写性能(可达200MB/s)。ConsumeQueue则为每个Topic/Queue维护索引(20字节/条目),指向CommitLog中的消息位置,实现快速定位。
2025-11-20 13:34:55
415
原创 从 0 到 1 构建高可用 RocketMQ 集群实战指南
本文详细介绍了RocketMQ高可用集群的搭建与实践。首先解析了RocketMQ核心架构(NameServer、Broker主从复制)的高可用原理,提供了生产级最小集群规划方案。接着从环境准备、JDK安装到NameServer和Broker主从集群部署,给出了详细配置步骤和参数调优建议。通过SpringBoot3实现了生产者/消费者示例,演示了消息收发和主从故障转移测试。最后搭建了基于Prometheus+Grafana的监控体系,并分享了生产级最佳实践和常见问题解决方案。
2025-11-20 10:12:17
1182
原创 RocketMQ 推拉模式终极对决:从底层逻辑到选型决策,一篇讲透!
RocketMQ消费者模式深度解析:推拉模式原理与实战指南 本文深入剖析RocketMQ中推(Push)和拉(Pull)两种消费模式的核心差异。推模式采用长轮询"伪推"机制,由Broker hold请求实现低延迟,适合常规业务场景;拉模式则完全由消费者控制拉取节奏,适合批量处理和高定制化需求。文章从底层原理出发,详细对比了两种模式在消费触发方式、负载均衡、进度管理等方面的差异,并通过SpringBoot实战案例展示了具体实现方法。
2025-11-20 10:02:20
1023
原创 30 分钟吃透 RocketMQ:核心 API 速通 + 避坑指南
本文为30分钟快速掌握RocketMQ的实战指南,详细介绍了其核心架构(NameServer、Broker、Producer、Consumer)、环境搭建步骤以及三种消息发送方式(同步/异步/单向)。文章重点解析了推拉消费模式、特殊消息类型(延时/顺序/事务消息)的实现方法,并针对消息丢失、重复消费等常见问题提供解决方案。
2025-11-20 09:58:56
806
原创 网盘核心技术解密:秒传与限速系统的设计与实现
本文详细解析了网盘系统中秒传和限速两大核心功能的实现原理与技术方案。秒传通过文件哈希校验(SHA-256算法)、分块处理和元数据管理实现文件快速重复上传,其核心是建立文件唯一标识并复用已有存储。限速采用令牌桶算法控制请求速率,有效保障系统稳定性,支持突发流量处理。文章从架构设计、数据库建模到代码实现(基于Spring Boot 3.2 + MyBatis Plus)进行了完整阐述,包括哈希计算工具类、令牌桶限流组件及拦截器实现,并提供了测试验证方法。
2025-11-19 18:00:23
810
原创 吃透常见限流算法:从原理到实战,高并发系统的 “安全阀” 修炼指南
本文深入解析了高并发系统中的限流技术,详细介绍了四种核心限流算法:固定窗口计数器、滑动窗口计数器、漏桶算法和令牌桶算法。针对每种算法,文章从原理、优缺点、实现代码到测试效果进行了全面剖析,并提供了Spring Boot实战示例。特别探讨了分布式场景下的Redis+Lua实现方案,最后设计了一套基于注解+AOP的通用限流框架。通过对比不同算法的适用场景,帮助开发者根据实际业务需求选择最佳限流策略,为构建高可用系统提供关键技术保障。
2025-11-19 17:56:53
837
原创 高并发写入杀器:为何关系数据库成了你的 “性能绊脚石“?
关系数据库由于 ACID 特性、锁机制、事务日志等设计,在高并发写入场景下存在天然瓶颈高并发写入会引发关系数据库的连锁反应:连接池耗尽、锁竞争加剧、I/O 风暴和事务回滚代价高昂。
2025-11-18 17:55:54
863
原创 RocketMQ 顺序消费性能的 15 个实战优化秘籍
《RocketMQ顺序消费性能优化实践》摘要:本文深入探讨了RocketMQ在分布式系统中的顺序消费性能优化策略。通过分析底层实现机制,提出从队列设计、生产/消费端优化到架构层面的15个关键技术点,包括动态队列分配、批量处理、异步化消费、热点数据分离等解决方案。文章以电商订单系统为例,展示了优化前后吞吐量提升900%、延迟降低90%的实际效果,为高并发场景下的顺序消息处理提供了系统性的优化方法论。
2025-11-18 17:44:33
1137
原创 2025 年 Redis 面试天花板
本文全面总结了2025年Redis面试的核心知识点,涵盖基础概念、数据结构、持久化机制、高可用方案、缓存问题解决方案、分布式锁实现等关键内容。文章详细解析了Redis的数据结构实现原理(String、Hash、SortedSet等)、持久化方式(RDB和AOF)的选择与配置,以及主从复制、哨兵模式和集群架构的高可用方案。同时深入探讨了缓存穿透、击穿、雪崩等常见问题的解决方案,并提供了分布式锁、延迟队列、分布式Session等典型场景的Java实现示例。
2025-11-16 14:03:36
1047
原创 搭建企业级 Maven 私服:彻底告别依赖管理混乱的痛点
本文详细介绍了如何搭建企业级Maven私服系统,以解决Java开发中的依赖管理问题。主要内容包括: 选择Nexus作为私服工具的优势 详细的环境准备与安装步骤 核心配置详解:仓库类型、权限设置等 Maven settings.xml与项目pom.xml的配置方法 发布组件和获取依赖的具体操作 高级配置如HTTPS、邮件通知和备份策略 常见问题解决方案 通过搭建Maven私服,企业可实现依赖统一管理、提升构建效率、促进内部组件共享,同时增强安全性和可维护性。
2025-11-14 18:14:21
1024
原创 亿级视频秒级同步:高性能架构设计与落地实践
本文提出了一套基于JDK17、XXL-Job、RocketMQ和Redis的高性能跨系统视频同步方案。针对GB/TB级大文件同步场景,采用分片并行传输机制提升效率,通过异步任务调度和分布式锁确保高并发可靠性。方案涵盖任务创建、分片传输、状态监控全流程,支持集群部署和容灾机制,实测在3节点集群下吞吐量达33.3MB/s,任务成功率99.92%。相比传统方案,本设计显著提升传输效率3-5倍,提供完整的开发部署指南和监控方案,适用于短视频分发、在线教育等需要大规模视频同步的业务场景。
2025-11-14 16:12:01
628
原创 大视频秒级同步:高性能跨系统视频数据迁移实战方案
摘要:本文提出了一种针对大视频(GB/TB级)跨系统同步的高性能解决方案。通过"分片传输+异步并发+断点续传+校验容错+监控告警"架构设计,有效解决了传输效率低、易中断、资源占用高等痛点。方案采用Java17+SpringBoot3.2.5技术栈,实现分片处理、并发传输、断点续传、文件合并等核心功能,并集成MySQL+Redis进行元数据管理。经测试,10GB视频文件同步耗时约1小时(视网络情况),支持多重校验确保数据一致性。该方案具有高性能、高可靠、易扩展等特点,可直接应用于生产环境。
2025-11-14 14:15:53
1035
原创 Java+EasyExcel 打造学习平台视频学习时长统计系统
本文介绍了一个基于Java17和SpringBoot3.2.5构建的在线教育平台视频学习时长统计系统。该系统通过"定时上报+关键节点上报"策略采集学生学习数据,结合快进检测、暂停排除等规则计算有效时长,支持按用户、课程、班级等多维度统计。系统采用Redis缓存热点数据提升查询性能,使用EasyExcel实现大数据量报表导出,并通过"实时统计+定时全量统计"双机制确保数据准确性。
2025-11-14 13:25:29
1181
2
原创 万人同考不宕机:高并发考试平台的架构设计与实现方案
本文提出了一套支撑万人并发在线考试平台的完整技术方案。该平台采用分布式微服务架构,通过水平扩展、分库分表、多级缓存等关键技术解决高并发挑战。系统实现了考生报名、试卷加载、答题提交等核心功能,并针对考试公平性设计了防作弊机制。技术栈选用Spring Cloud Alibaba生态,结合Redis缓存和RocketMQ消息队列实现高性能异步处理。通过负载均衡、熔断降级等机制保障系统高可用性,采用JWT认证和敏感数据加密确保安全性。
2025-11-14 11:08:10
1145
原创 不止于 API 调用:解锁 Java 工具类设计的三重境界 —— 可复用性、线程安全与性能优化
Java 工具类设计看似简单,实则蕴含着深厚的技术功底和设计智慧。一个优秀的工具类不仅要提供实用的功能,更要在可复用性、线程安全和性能之间找到完美的平衡。
2025-11-13 11:27:26
1084
原创 从重复造轮子到高效编码:Guava 工具类深度实战指南
Guava 作为 Java 生态中最成熟的工具类库之一,通过封装海量实战经验,为开发者提供了高效、安全、简洁的解决方案。从集合操作到缓存设计,从并发控制到 IO 处理,Guava 几乎覆盖了 Java 开发的所有高频场景,帮助开发者告别 “重复造轮子”,专注于业务逻辑实现。
2025-11-13 10:42:55
922
原创 深度拆解汽车制造系统设计:用 Java + 设计模式打造高扩展性品牌 - 车型动态生成架构
本文提出了一套基于Java和设计模式的灵活可扩展汽车制造系统解决方案。核心采用"抽象工厂模式+模板方法模式"组合,有效解决了"多品牌+多车型"的生产需求,同时保证统一制造流程和差异化配置。系统支持丰田、本田等不同品牌,以及轿车、SUV等多种车型的动态扩展,所有实例可直接落地运行。通过分层架构设计,实现业务逻辑与数据持久化分离,并使用MySQL存储品牌、车型、生产记录等数据。测试验证表明,该系统满足高复用、易扩展的核心需求,性能稳定可靠。
2025-11-12 18:11:59
1564
原创 日志记录器的单例之道:从设计到源码的深度剖析
本文深入探讨了单例模式在日志记录器设计中的应用与实践。通过分析日志系统的核心需求,对比了饿汉式、懒汉式、双重检查锁定等单例实现方式的优劣,并给出了完整的日志记录器实现方案。文章不仅涵盖了日志级别控制、多目标输出、异步处理等实用功能,还特别针对单例模式的线程安全、序列化、反射攻击等潜在问题提出了解决方案。最后结合Spring框架,展示了如何将单例日志记录器无缝集成到现代Java应用中,为开发高效可靠的日志组件提供了实用指导。
2025-11-12 17:55:06
741
原创 Java 大文件上传实战:从底层原理到分布式落地(含分片 / 断点续传 / 秒传)
本文提出了一种基于Java的完整大文件上传解决方案,通过分片上传、断点续传和秒传三大核心技术有效解决了传统单文件上传的内存溢出、超时中断等问题。方案采用SpringBoot3.x+JDK17技术栈,整合MyBatis-Plus、MinIO和Redis等组件,支持5MB分片大小、分布式锁控制并发、自动清理过期分片等特性。前后端分离实现中,前端使用Vue3+SparkMD5计算文件指纹,后端通过策略模式支持本地/MinIO双存储方案。
2025-11-11 18:09:45
1057
原创 Redis 打造高性能朋友圈点赞系统
本文介绍了基于Redis设计的高性能朋友圈点赞系统,采用"Redis为主、MySQL为辅"的混合存储架构。系统使用Redis的Set、Hash和ZSet数据结构处理点赞数据,通过分布式锁保证并发安全,利用管道和事务提升性能。实现了点赞/取消、点赞状态查询、点赞用户列表等功能,并设计了定时同步策略确保数据一致性。针对高并发场景,系统采用了缓存预热、懒加载、限流等优化措施,通过Redisson实现分布式锁控制并发访问。该系统能有效应对高并发点赞请求,为社交互动提供高效支持。
2025-11-11 17:47:42
1128
原创 RocketMQ 实战手册:解锁分布式消息队列核心技能
本文详细讲解了Apache RocketMQ在分布式系统中的实战应用。首先介绍了RocketMQ的核心架构(NameServer、Broker、Producer、Consumer)和工作原理,然后提供了完整的项目初始化步骤和环境配置。文章重点展示了核心配置类的实现,包括生产者、消费者、事务消息和消息追踪的配置。 文中还提供了丰富的实用工具类,如消息发送工具、消费工具和查询工具,并配合订单业务场景展示了四种典型消息模式的实现: 普通消息的同步/异步/单向发送与消费 顺序消息的实现方案 事务消息的完整处理流程
2025-11-10 17:49:50
879
原创 一文吃透 Nacos 配置中心
Nacos 作为一个功能强大的配置中心,不仅能满足中小型项目的需求,也能支撑大型分布式系统的配置管理。在实际使用中,还需要根据项目特点和业务需求,制定合适的配置策略和最佳实践,充分发挥 Nacos 的优势。
2025-11-10 17:19:01
1565
Mysql 基础练习大全(建表到基本查询)
2023-07-27
java8日期工具类大全
2023-07-27
idea 最最最最最最最最好看的主题
2023-07-27
关于#java#的问题,java 架构师成长路线
2023-07-05
java怎么通过反射给成员变量添加自定义注解
2023-05-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅