自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《Mybatis》第10章 MyBatis 缓存机制深度剖析

本文深入剖析MyBatis的两级缓存机制。一级缓存为SqlSession级别,默认开启,基于HashMap实现,适用于事务内重复查询;二级缓存为Mapper级别,需手动配置,可跨会话共享,适合读多写少场景。文章详细解析了两级缓存的实现原理、使用方式、失效场景及常见问题,特别强调了一级缓存的脏读风险和二级缓存的多表关联脏数据问题,并给出了缓存配置建议和最佳实践方案。通过源码分析和面试题解答,帮助开发者合理使用缓存提升性能,同时规避潜在问题。

2026-03-11 08:49:21 299

原创 《MyBatis》第9章:MyBatis执行流程与映射机制

MyBatis执行流程解析:MyBatis框架通过五阶段流程实现数据库操作,包括初始化配置、SqlSession创建、Mapper代理生成、SQL执行和结果映射。核心机制包括动态代理实现方法到SQL的映射,组件化架构处理SQL执行(Executor、StatementHandler等),以及灵活的结果集转换(ResultSetHandler)。

2026-03-11 08:40:44 212

原创 《MyBatis》第8章 MyBatis-Plus 增强框架

摘要: MyBatis-Plus(MP)是MyBatis的增强工具,遵循“只做增强,不做改变”原则,兼容原生MyBatis所有功能。核心特性包括: 通用Mapper:通过BaseMapper提供单表CRUD方法,无需编写SQL。 条件构造器:支持链式调用(QueryWrapper)和类型安全的Lambda表达式(LambdaQueryWrapper),避免SQL拼写错误。 插件体系:内置分页(自动生成方言SQL)、乐观锁(@Version)、自动填充(MetaObjectHandler)等功能。

2026-03-10 08:48:18 428

原创 《MyBatis》第7章 性能调优与实践

本文介绍了MyBatis性能调优的关键策略。重点包括:SQL级别优化(避免N+1查询、使用批量操作和游标查询)、二级缓存最佳实践(适用场景、风险防范及Redis整合方案)以及插件性能优化。通过JOIN查询替代N+1查询、合理使用BATCH执行器和游标查询可显著提升性能。二级缓存需谨慎配置以避免脏数据,分布式场景建议使用Redis缓存。此外,精简插件逻辑可减少性能开销。这些优化手段可有效解决MyBatis应用中的常见性能瓶颈。

2026-03-10 08:46:52 363

原创 《Mybatis》第6章 与 Spring 的集成原理

本文深入剖析了MyBatis与Spring框架的集成原理。

2026-03-09 08:47:24 451

原创 《Mybatis》第5章 插件机制与扩展

MyBatis插件机制深度解析:本文系统剖析了MyBatis插件的实现原理与应用实践。插件通过Interceptor接口实现,利用动态代理技术拦截Executor、StatementHandler等四大核心对象的方法调用。重点讲解了插件链的生成机制、方法签名匹配原理,并通过分页插件和慢SQL监控插件的完整案例,展示了如何开发高效稳定的自定义插件。文章还深入分析了Plugin类的动态代理实现细节,总结了插件开发中的执行顺序、性能优化等关键注意事项,为深入理解MyBatis扩展机制提供了全面指导。

2026-03-09 08:46:48 451

原创 《Mybatis》第4章 Mapper 映射文件奥秘

本文深入解析MyBatis核心Mapper映射文件的工作原理。重点剖析了动态SQL的实现机制,包括XML解析为SqlNode树、OGNL表达式求值过程;详细讲解了参数映射(ParamNameResolver)和结果集映射(ResultMap)的实现原理,以及延迟加载的代理机制;系统阐述了一级缓存(SqlSession级别)和二级缓存(Mapper级别)的工作机制、失效场景及Redis整合方案。文章最后提供了高级面试题的完整解答,包括缓存区别、动态SQL优化和延迟加载异常处理等核心知识点。

2026-03-06 15:21:35 316

原创 《Mybatis》第三章:配置深度解析

MyBatis配置与核心组件解析 摘要: 本文详细剖析了MyBatis的配置体系与核心组件实现。

2026-03-06 15:07:20 335

原创 《MyBatis》 第二章:核心架构与工作流程

本文深入剖析了MyBatis核心架构与执行流程。MyBatis采用三层架构:接口层、核心处理层和基础支撑层,核心组件包括SqlSession、Executor、StatementHandler等。重点分析了SQL执行全流程:从Mapper代理调用开始,经过Executor调度、StatementHandler处理、参数设置到结果集映射。MyBatis运用了多种设计模式如工厂、代理、模板方法等提升扩展性。

2026-03-06 11:25:47 526

原创 《MyBatis》引言:MyBatis 的定位与价值

摘要:本文探讨了MyBatis作为半自动ORM框架的核心价值与技术特点。通过对比JDBC原生操作与Hibernate框架,分析了MyBatis在性能敏感场景的优势:1)保留SQL控制权,支持精细优化;2)相比JDBC减少90%模板代码;3)在压测中性能接近原生JDBC。同时介绍了其多数据库支持方案(databaseIdProvider)及适用场景,指出MyBatis适合需要SQL调优、复杂查询的业务场景,但需要承担多数据库适配成本。

2026-03-06 11:24:22 367

原创 7天读懂MySQL|特别篇:explain

explain解析

2026-03-05 10:47:51 444

原创 《ElasticSearch》14 优化:ElasticSearch性能优化详解

本文从CPU、内存、磁盘和索引优化四个方面介绍了Elasticsearch性能调优的关键点。CPU配置建议选择多核处理器而非高主频;内存分配需根据使用场景合理划分ES堆内存和Lucene缓存,禁止swap并优化GC设置;磁盘推荐使用SSD并调整I/O调度策略;索引优化包括批量提交、调整refresh间隔、优化translog设置等。通过合理的硬件配置和参数调优,可显著提升ES集群的性能表现。

2026-03-05 09:02:10 331

原创 《ElasticSearch》13 原理:ES原理之读取文档流程详解

Elasticsearch文档读取机制解析:本文详细介绍了Elasticsearch的文档查询流程,包括单个文档和批量文档的检索步骤。重点分析了搜索系统的两阶段查询(query_then_fetch)机制,阐述了从分片查询到结果合并的全过程。文章深入探讨了Elasticsearch的读操作实现,包括Lucene核心接口、分布式查询处理、实时与近实时查询的区别,以及查询类型(Get/Search)的具体实现。最后解析了完整的查询流程。

2026-03-04 15:29:55 383

原创 《ElasticSearch》12 原理:ES原理之索引文档流程详解

本文详细介绍了Elasticsearch文档索引的实现机制,包括单个文档和批量文档的写入流程,以及数据持久化的完整过程。主要内容包括:文档索引的基本步骤,从客户端请求到分片处理的完整流程;数据持久化的四个关键阶段(write-refresh-flush-merge),解释了内存缓冲、文件系统缓存和磁盘存储之间的数据流转;深入分析了Elasticsearch如何基于Lucene实现分布式写入,通过主副分片机制保证数据的可靠性、一致性和实时性。文章还探讨了写入操作的关键特性(可靠性、一致性、原子性等)在Elas

2026-03-04 08:38:03 533

原创 《ElasticSearch》11 原理:ES原理知识点补充和整体结构

本文介绍了ElasticSearch的核心架构与工作原理。首先解析了ES集群的层次结构,包括节点(Node)、分片(Shard)和底层Lucene索引的关系。其次详细阐述了Lucene索引的文件组成和处理流程,包括文档索引和查询搜索的关键步骤。重点讲解了ES分析器的组成(字符过滤器、分词器和Token过滤器)及其工作过程,对比了标准分析器、简单分析器等内置分析器的差异。最后通过日期查询示例,说明了全文域和精确值域在查询时的不同处理方式。

2026-03-04 08:37:20 571

原创 《ElasticSearch》10 聚合:聚合查询之Pipline聚合详解

聚合查询之Pipline聚合详解

2026-03-03 14:33:30 576

原创 《ElasticSearch》09 聚合:聚合查询之Metric聚合详解

本文系统梳理了Elasticsearch中的Metric聚合分析,主要从分类和功能两个维度构建知识体系。Metric聚合分为单值分析和多值分析两大类:单值分析包括标准统计类型(avg/max/min/sum/value_count)和其他类型(如weighted_avg、cardinality等);多值分析包含stats型(如matrix_stats、extended_stats)、百分数型(percentiles)和地理位置型(geo_bounds)等多种功能类型。

2026-03-03 09:28:50 1428

原创 《ElasticSearch》08 聚合:聚合查询之Bucket聚合详解

本文介绍了ElasticSearch中的Bucket聚合功能。主要内容包括: 聚合的基本概念:Bucket类似于SQL的GROUP BY分组,Metrics则类似于COUNT/SUM等统计方法。ElasticSearch提供三种聚合方式:Bucket聚合、Metric聚合和Pipeline聚合。 Bucket聚合的理解:可分为三类设计思路,帮助更高效地掌握知识点。

2026-03-03 08:40:14 633

原创 《ElasticSearch》07 查询:DSL查询之Term详解

本文介绍了Elasticsearch中的Term级查询方法,包括字段存在查询(exist)、ID查询(ids)、前缀查询(prefix)、分词匹配(term)、多分词匹配(terms)、数字字段匹配(term set)、通配符查询(wildcard)、范围查询(range)、正则表达式查询(regexp)和模糊匹配(fuzzy)。通过测试数据和示例演示了各种查询的使用方法,并重点分析了Term查询与Match查询的核心区别:Term查询直接查找完整词条,而Match查询会先分词。

2026-02-28 08:51:21 769

原创 《ElasticSearch》06 查询:DSL查询之全文搜索详解

本文详细介绍了Elasticsearch中Match查询的多种类型及其使用场景。主要内容包括: 标准match查询的执行步骤:字段类型检查、查询字符串分析、匹配文档查找和评分计算; 多词match查询原理,通过bool查询实现,支持or和and两种逻辑操作; 使用minimum_should_match参数控制匹配精度; 其他match类型:match_phrase(精确短语匹配)、match_phrase_prefix(支持最后一个词项前缀匹配)和match_bool_prefix查询。

2026-02-28 08:38:37 712

原创 《ElasticSearch》05 查询:DSL查询之复合查询详解

本文介绍了Elasticsearch中的复合查询类型,重点讲解了bool查询、boosting查询、constant_score查询和dis_max查询。bool查询通过must、should、must_not和filter四种操作符组合查询条件;boosting查询可以降低不符合条件的文档权重;constant_score查询返回固定分数;dis_max查询则返回最佳匹配结果。文章通过具体示例演示了每种查询的用法和评分机制,帮助理解不同查询类型的特点和适用场景。

2026-02-27 16:10:04 1312

原创 《ElasticSearch》04 索引:索引模板(Index Template)详解

Elasticsearch索引模板是一种预定义配置,用于在创建新索引时自动应用设置、映射和别名。

2026-02-27 16:06:04 1046 1

原创 《ElasticSearch》03 索引:索引管理详解

本文介绍了Elasticsearch索引管理的核心操作。主要内容包括:禁止自动创建索引的配置方法,手动创建索引的格式(包含settings和mappings设置),以及索引的常用管理操作(创建、修改、打开/关闭、删除、查看)。文章还通过Kibana的Dev Tools演示了创建test-index-users索引的完整过程,包括设置分片副本数、定义字段类型映射,并展示了数据类型校验、索引状态修改等实际应用场景。最后提供了相关参考文档链接,帮助读者进一步学习Elasticsearch索引管理。

2026-02-26 09:48:28 692

原创 《ElasticSearch》02 入门:查询和聚合的基础使用

本文介绍了Elasticsearch的基本操作,包括索引文档、批量导入数据以及查询方法。首先展示了如何使用PUT命令索引单个文档,并通过Kibana工具进行查询测试。接着讲解了批量导入JSON格式测试数据的步骤。在查询部分,详细说明了match_all查询、分页查询、字段匹配查询、短语查询以及多条件bool查询的使用方法,并区分了query和filter的不同作用。最后介绍了聚合查询(aggs)的基本用法,类似于SQL中的group by功能,通过state字段统计各州账户数量。全文提供了完整的命令示例和结

2026-02-26 09:18:27 1263

原创 01 安装:ElasticSearch和Kibana安装

本文介绍了在CentOS 7系统上安装ElasticSearch的完整步骤。首先确认系统版本信息,然后安装Java环境并验证版本。接着下载ElasticSearch 7.12.0压缩包并解压。重点说明由于安全限制,必须创建专门的elasticsearch用户来运行服务,不能使用root账户。详细演示了创建用户、设置密码、修改目录权限等操作过程,包括创建数据存储目录并赋予相应用户权限。最后展示了以root身份运行时出现的错误信息,强调必须使用非root账户运行ElasticSearch。

2026-02-25 14:36:35 791

原创 《Seata从入门到实战》第七章:seata总结

本文系统总结了Seata分布式事务框架的核心内容。首先概述了Seata四大模式(AT/TCC/Saga/XA)的特性对比,从一致性、性能、侵入性等维度进行分析。其次总结了Seata的五大架构优势:一站式解决方案、无侵入设计、高性能优化、高可用保障和完善生态。接着针对实际应用中的性能挑战和运维复杂度问题,给出了具体优化策略和监控方案。最后展望了Seata在云原生集成和智能化事务管理方面的发展趋势。全文为开发者提供了全面的Seata技术选型指南和实践经验。

2026-02-25 08:56:46 821

原创 《Seata从入门到实战》第六章:从部署到集成实战&避坑指南

本文详细介绍了Seata分布式事务框架的实战部署与集成指南。文章提供了详细的代码示例和配置说明,并针对不同场景给出了优化建议,帮助开发者快速掌握Seata的实战应用技巧。

2026-02-24 08:45:35 586

原创 《Seata从入门到实战》第五章:XA模式详解

本文详细解析了Seata中XA模式的实现原理与工作机制。

2026-02-24 08:45:12 820

原创 《Seata从入门到实战》第四章:Saga模式详解

本文详细解析了Seata的Saga分布式事务模式。Saga通过事件驱动和补偿机制解决长事务问题,其核心是放弃强一致性,采用最终一致性。文章阐述了Saga的三大设计原则、两种实现方式(编排式和协同式),并深入分析了Seata采用的编排式实现方案。重点剖析了状态机引擎架构、JSON定义语言、补偿机制实现(包括立即/延迟补偿策略)以及异常处理和状态恢复机制。Saga模式适用于长流程业务、遗留系统集成等最终一致性可接受的场景,通过将长事务拆分为多个可补偿的本地事务来解决传统事务模型的局限性。

2026-02-09 14:18:51 1063

原创 《Seata从入门到实战》第三章:TCC模式详解

Seata-TCC模式

2026-02-08 11:04:44 725

原创 《Seata从入门到实战》第二章:AT 模式详解

AT模式详情&运用

2026-02-08 10:58:32 1061

原创 《Seata从入门到实战》第一章:Seata核心概念与架构

本文系统介绍了分布式事务框架Seata的核心概念与架构设计。主要内容包括:1. Seata解决分布式系统下数据一致性问题,提供AT、TCC、Saga、XA四种事务模式;2. 核心架构采用TC(协调器)、TM(管理器)、RM(资源管理器)三组件协同工作;3. 全局事务ID(XID)的生成传递机制保障事务一致性;4. 分层架构设计支持高可用集群部署,实现无状态协调和故障恢复。Seata通过低侵入式设计,为微服务架构提供高性能、易集成的分布式事务解决方案,适用于电商、金融等对数据一致性要求高的场景。

2026-02-06 10:21:24 1141

原创 《设计模式》第十一篇:总结

本文系统总结了设计模式的三大分类(创建型、结构型、行为型)及其典型应用。创建型模式关注对象创建机制,如单例、工厂等;结构型模式处理类/对象组合,如适配器、装饰器等;行为型模式定义对象交互方式,如观察者、策略等。文章还分析了设计模式在Spring框架中的实践应用,探讨了学习路径、SOLID原则关联及未来发展趋势,强调模式选择应匹配实际问题,避免过度设计。核心价值在于提供共享词汇表、最佳实践和提升代码质量,但也需注意其可能增加的复杂度。

2026-02-06 08:37:54 818

原创 《设计模式》第十篇:三大类型之行为型模式

本文系统介绍了11种行为型设计模式,重点解析责任链和访问者模式。责任链模式通过链式处理对象解耦请求发送者和接收者,适用于多级审批流程;访问者模式在不改变元素类前提下扩展新操作,适用于文档处理等场景。文章通过Java代码示例详细演示了两种模式的实现,并对比分析了各模式的核心思想、优缺点及适用场景。行为型模式的核心价值在于通过封装变化,优雅管理对象交互和职责分配,提升系统灵活性和可扩展性。

2026-02-05 09:04:26 924

原创 《设计模式》第九篇:三大类型之结构型模式

结构型模式关注类和对象的组合方式,形成灵活高效的结构。主要包括7种模式:适配器、桥接、组合、装饰器、外观、享元和代理模式。

2026-02-05 08:53:22 1228

原创 《设计模式》第八篇:三大类型之创建型模式

创建型模式

2026-02-04 15:49:58 836

原创 《设计模式》第七篇:适配器模式

摘要:适配器模式是一种结构型设计模式,通过转换接口使不兼容的类能够协同工作。其核心包括目标接口、被适配者和适配器三个角色,可通过对象适配器(组合方式)或类适配器(继承方式)实现。典型应用场景包括系统集成、接口升级等,能提高代码复用性和系统灵活性,但可能增加复杂度。在Java中体现为InputStreamReader等类,Spring框架中也广泛应用该模式。使用时需注意避免过度包装和性能影响。

2026-02-04 08:29:02 962

原创 《设计模式》第六篇:装饰器模式

本文系统介绍了装饰器设计模式的核心概念与应用。首先阐述了装饰器模式的定义,即动态扩展对象功能而不改变结构,通过组合替代继承实现灵活扩展。

2026-02-03 08:33:31 707

原创 《设计模式》第五篇:策略模式

本文系统介绍了策略模式的设计与实现。策略模式通过定义算法族并封装每个算法,使它们可以互相替换,让算法独立于客户端变化。

2026-02-03 08:32:59 1134

原创 《设计模式》第四篇:观察者模式

本文系统介绍了观察者模式的设计与实现。首先阐述了观察者模式的定义和结构,对比了其与发布-订阅模式的异同。通过天气监测系统示例,详细展示了基础实现方式,包括推模型和拉模型两种数据传递方式。进一步探讨了高级应用场景,如事件驱动架构和异步观察者实现。最后解析了Spring框架中的事件机制应用,包括自定义事件、发布订阅机制以及同步/异步处理等特性。全文涵盖了观察者模式从基础到进阶的完整知识体系,并提供了丰富的代码示例。

2026-02-02 08:49:43 1777

空空如也

空空如也

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

TA关注的人

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