自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(487)
  • 收藏
  • 关注

原创 零拷贝技术:从 DMA 到 Netty 的 FileRegion

DMA(Direct Memory Access)是一种硬件机制,允许外设直接访问内存,无需 CPU 参与每个字节的传输。// CPU 需要逐字节搬运数据i++) {// CPU 等待// CPU 写入// CPU 完全被 I/O 占用,无法做其他事// CPU 只需发起命令// CPU 立即去做其他事// DMA 完成后通过中断通知 CPU零拷贝不是一项技术,而是一系列优化策略:硬件层:DMA 解放 CPU内核层:sendfile 避免用户空间。

2025-11-02 20:20:13 594

原创 Spring 源码之旅:IoC 容器、AOP 实现、事务传播机制

本文深入解析了Spring框架的三大核心机制:IoC容器、AOP实现和事务传播。在IoC容器部分,详细分析了Bean的生命周期、循环依赖处理(三级缓存设计)和@Autowired注入原理;AOP部分探讨了动态代理实现(JDK/CGLIB)、切面织入时机和拦截器链执行流程;事务传播章节则讲解了七种传播行为的区别与适用场景,特别是NESTED嵌套事务的实现机制。文章还提供了源码调试技巧、常见面试题、性能优化建议,并附有手写简易版Spring的实践案例,帮助开发者深入理解Spring的设计思想和底层实现。

2025-10-19 21:29:44 785

原创 MySQL 深度剖析:从存储引擎到事务的完整技术体系

本文深入解析了MySQL InnoDB引擎的核心机制,主要包括:1. InnoDB架构:重点介绍了BufferPool、RedoLog和UndoLog的作用与优化建议;2. B+树索引:对比B树,分析聚簇/非聚簇索引区别及优化原则;3. 事务隔离与MVCC:详细说明RC和RR的实现原理及幻读解决方案;4. 锁机制:讲解行锁、间隙锁及死锁排查方法;5. 实战优化:通过案例演示慢查询优化技巧。文章提供了生产环境配置建议,帮助开发者深入理解MySQL工作原理并提升数据库性能。

2025-10-18 16:27:36 774

原创 高并发系统设计:从 TPS 10 到 10W 的完整优化路径

本文系统性地介绍了电商系统从TPS 15到12万的全链路性能优化路径,分为五个关键阶段:首先通过索引优化、SQL调优和代码重构将性能提升到120;接着通过读写分离和缓存设计提升到1200;然后利用消息队列和分库分表实现削峰填谷,达到8000;最后通过JVM调优、连接池优化和网络配置等极致手段突破到12万。文章强调性能优化需要遵循"测量-解决瓶颈-权衡成本"的原则,指出数据库优化贡献80%收益,并提醒避免过早优化和过度设计。整个优化过程历时一年以上,是持续迭代的系统工程,最终目标是构建高可

2025-10-17 10:26:28 401

原创 事件驱动架构(EDA):Event Sourcing 和 CQRS 的完整实践

摘要:事件驱动架构(EDA)通过存储不可篡改的历史事件而非覆盖状态,解决了传统状态存储无法追溯历史变化的问题。核心优势包括完整的审计日志、时间旅行能力和系统解耦。事件溯源(Event Sourcing)通过重放事件重建状态,配合CQRS实现读写分离,适用于金融、物流等需要完整追溯的场景。实施时需注意事件设计、快照优化和最终一致性处理。技术选型可结合MySQL事件存储与Kafka消息分发,采用渐进式落地策略,从事件总线逐步过渡到完整的事件驱动架构。该架构本质是思维转变:从"当前状态"到&q

2025-10-16 23:04:38 322

原创 领域驱动设计(DDD):驾驭复杂业务的架构哲学

DDD(领域驱动设计)是一种以业务为中心的软件设计方法,核心思想是通过统一语言和划分限界上下文来降低系统复杂度。其关键要素包括:战略设计中的限界上下文划分和上下文映射(如防腐层),战术设计中的实体/值对象区分、聚合根设计和领域事件。DDD强调将业务逻辑封装在领域对象中,避免贫血模型,采用分层架构确保领域层独立性。适用场景为复杂业务系统,但需避免过度设计,其本质是促进技术与业务的深度融合,通过清晰边界和统一语言提升系统可维护性。

2025-10-15 23:36:52 827

原创 服务网格(Service Mesh):微服务架构的新一代基础设施

摘要: ServiceMesh是微服务治理的演进方案,通过Sidecar代理(如Envoy)将服务发现、熔断、限流等逻辑从业务代码中剥离,实现多语言支持、无侵入升级和统一管控。核心架构包括数据平面(Sidecar处理流量)和控制平面(配置下发)。其核心功能涵盖流量管理(金丝雀发布、故障注入)、安全(mTLS、细粒度访问控制)和可观测性(指标、追踪)。性能开销约1-3ms延迟,可通过AmbientMesh或eBPF优化。适合多语言、大规模微服务场景,但需权衡复杂度与收益,非银弹。未来趋势包括无Sidecar架

2025-10-13 21:51:40 591

原创 数据库分库分表的艺术:突破单机瓶颈的数据治理之道

分库分表是应对海量数据的核心策略,当单表数据量突破2000万时,查询性能急剧下降。水平拆分通过数据维度(如用户ID)将大表分散到多个库表,突破单机限制。核心挑战包括:全局ID生成(推荐雪花算法)、跨分片查询(需优化分页和排序)、分布式事务(建议最终一致性)、数据扩容(推荐双写迁移)。中间件首选ShardingSphere,但要注意避免过早拆分、谨慎选择分片键、监控数据倾斜。替代方案可考虑NewSQL数据库。分库分表是权衡艺术,应在优化索引和读写分离无效后再采用。

2025-10-12 19:47:17 469

原创 分布式事务的艺术:从理论到实践的完整攻略

分布式事务没有银弹,每种方案都有其适用场景和代价。作为架构师,我们需要:权衡取舍:一致性 vs 性能 vs 复杂度务实主义:不追求完美的强一致性,最终一致性足够深度防御:幂等性、日志、监控、人工介入,多层保障业务优先:技术服务于业务,而非炫技记住:最好的分布式事务,是不需要分布式事务的设计。在设计系统时,先问自己:这个操作真的需要强一致性吗?能否通过异步化来解决?用户能否接受短暂的不一致?当你不得不使用分布式事务时,选择最简单、最适合的方案,而不是最复杂的方案。

2025-10-11 11:51:01 1144

原创 限流的艺术:构建系统稳定性的第一道防线

想象一下,你开了一家火锅店,生意好到爆棚。如果不限制进店人数,厨房会崩溃、服务员会忙不过来、顾客体验会极差,甚至可能发生安全事故。聪明的做法是:门口排队、限制同时就餐人数、预约制度——这就是现实世界的"限流"。

2025-10-10 17:58:01 547

原创 MySQL事物实现原理

这篇文章介绍了数据库事务的四个特性:原子性、一致性、隔离性和持久性,以及在并发事务中可能出现的脏读、不可重复读和幻读问题。文章还探讨了不同隔离级别下的并发行为,并举例说明了四种隔离级别在实际操作中的差异。

2025-10-09 22:54:18 784

原创 中介者模式

中介者模式

2024-05-24 10:18:32 469

原创 抽象工厂模式

抽象工厂模式

2024-05-21 11:40:16 547

原创 简单工厂模式

简单工厂模式

2024-05-21 11:14:28 513

原创 设计模式---策略模式

策略模式

2024-05-21 10:42:10 440

原创 设计模式---单例

设计模式-单例

2024-05-21 10:19:06 830

原创 剑指 Offer 58 - I. 翻转单词顺序

剑指 Offer 58 - I. 翻转单词顺序

2023-05-02 16:07:10 290

原创 两数之和,新的思考

两数之和,新的思考

2023-05-02 15:40:03 350

原创 @Async失效情况_超详细讲解

@Async失效情况_超详细讲解

2023-05-02 15:38:29 455

原创 @Async失效情况_超详细讲解

@Async失效情况_超详细讲解

2023-04-19 20:13:49 352

原创 密码学之常见的加密类型详细讲解

密码学之常见的加密类型详细讲解

2023-04-19 11:03:01 441

原创 设计一个不可重入锁_超详细的代码_小白也可以看得懂

设计一个不可重入锁_超详细的代码_小白也可以看得懂

2023-04-16 20:37:26 157

原创 死锁的产生条件_死锁的设计案列_死锁的解决方案_理论+代码层面

死锁的产生条件_死锁的设计案列_死锁的解决方案_理论+代码层面

2023-04-16 20:25:52 141

原创 Map相关的高频面试题详细分析讲解_层层深入_由浅入深_面试Map相关的掌握这些足够了

Map相关的高频面试题详细分析讲解_层层深入_由浅入深_面试Map相关的掌握这些足够了

2023-04-16 12:00:41 952

原创 List常见面试题_五连问_非常详细解答_最后一题压轴题

🌍List常见面试题_五连问_非常详细解答_最后一题压轴题

2023-04-16 09:43:32 625

原创 认识JWT

认识JWT

2023-04-09 19:41:26 153

原创 生成指定长度随机字母和数字

生成指定长度随机字母和数字

2023-04-09 19:28:45 144

原创 常见加密算法的分类

常见加密算法的分类

2023-04-09 19:20:47 190

原创 做分布式文件存储,主要是想实现文件存储访问的高性能与高可用,如何保证分布式存储的高性能与高可用?

做分布式文件存储,主要是想实现文件存储访问的高性能与高可用,如何保证分布式存储的高性能与高可用?

2023-04-09 19:00:39 219

原创 通过传一个字符串判断其是否符合手机号或者邮箱的规范

通过传一个字符串判断其是否符合手机号或者邮箱的规范

2023-04-09 18:35:43 178

原创 根据request获取请求的ip---[工具类]

根据request获取请求的ip---[工具类]

2023-04-09 18:24:16 179

原创 通过传入一个字符串返回MD5加密后的字符串-----[工具类]

通过传入一个字符串返回MD5加密后的字符串-----[工具类]

2023-04-09 18:24:12 251

原创 try-catch-finally需要注意的点,超详细讲解附代码演示

try-catch-finally需要注意的点,超详细讲解附代码演示

2023-03-27 16:09:25 248 1

原创 平台属性管理

平台属性管理

2023-02-20 23:56:19 220

原创 复盘一下做的项目中秒杀模块的核心要求信息

复盘一下做的项目中秒杀模块的核心要求信息

2023-02-20 00:41:43 202

原创 Hbase初体验

Hbase初体验

2023-01-15 21:25:53 209

原创 学习记录19、20

学习记录19、20

2023-01-15 21:22:35 146

原创 学习记录18

学习记录18

2023-01-15 21:21:27 115

原创 学习记录17

学习记录17

2023-01-15 21:20:56 102

原创 学习记录16

学习记录16

2023-01-15 21:20:15 103

空空如也

空空如也

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

TA关注的人

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