- 博客(79)
- 收藏
- 关注
原创 手撕JUC并发编程2
本文系统介绍了Java并发编程的核心知识体系,包括三大核心模块:共享内存模型、无锁/不可变设计和并发工具集。在共享内存模型部分,详细解析了指令级并行原理(流水线、超标量处理器)、CPU缓存结构(MESI协议)和Java内存模型(JMM),重点阐述了volatile关键字通过内存屏障实现可见性和有序性的机制。无锁编程部分讲解了CAS乐观锁原理及不可变对象设计模式。并发工具章节深入剖析了线程池(参数配置、工作流程、阻塞队列对比)、ThreadLocal(内存隔离与泄漏问题)和ConcurrentHashMap(
2026-03-08 17:51:12
404
原创 手撕JUC并发编程1
本文系统介绍了进程与线程的基本概念及Java线程实现。首先阐述了进程与线程的区别:进程是资源分配单位,线程是CPU调度单位,线程共享进程资源但更轻量级。接着讲解了并行与并发的概念,以及Java线程的创建方式(Thread、Runnable、FutureTask)。重点分析了线程安全问题,包括临界区、竞态条件等概念,并详细讲解了synchronized同步机制、锁升级过程(偏向锁、轻量级锁、重量级锁)及其底层Monitor原理。此外还介绍了线程状态转换、死锁/活锁问题、AQS框架及ReentrantLock实
2026-03-04 23:07:50
419
原创 PostgreSQL数据库与PgVector向量插件基础使用
本文详细介绍了在Ubuntu系统上部署PgVector向量数据库并与SpringBoot集成的方法。主要内容包括:1) Ubuntu环境配置,包括PostgreSQL安装、PgVector插件编译和数据库设置;2) 向量数据库基础操作,如创建表、插入向量数据和相似度查询;3) SpringBoot集成方案,提供JDBC连接配置、实体类定义和JPA查询实现;4) SpringAI框架下的高级应用,展示如何将PgVector作为向量存储与AI模型集成。文章还包含远程连接配置、性能优化建议和完整的测试案例,为开发
2026-03-02 20:41:21
367
原创 程序员算法圣经-LeetCode Hot100下
本文总结了力扣(LeetCode)中常见算法题的代码实现,涵盖图论、回溯、二分查找、堆、贪心算法、动态规划等多个类别。主要内容包括: 图论算法:如岛屿数量、腐烂橘子、课程表等问题的BFS/DFS解法; 回溯算法:包括全排列、子集、N皇后等经典回溯问题; 二分查找:搜索插入位置、旋转数组查找等变种问题; 动态规划:从基础问题(爬楼梯)到复杂问题(编辑距离)的多种解法; 其他技巧:位运算、双指针等优化方法。 每种算法都提供了C++和Java两种语言的实现,采用清晰的代码结构和注释,便于理解和应用。这些解法覆盖了
2026-02-25 17:19:23
554
原创 图论算法基础模板
本文总结了图论和并查集的常见算法实现,包括树与图的遍历(DFS/BFS)、最短路径算法(Dijkstra、Bellman-Ford、SPFA、Floyd)、最小生成树(Prim、Kruskal)、二分图判定与匹配(匈牙利算法)以及并查集的应用。每种算法均提供C++和Java两种实现,涵盖图的存储方式、核心算法逻辑和典型应用场景。这些算法是解决图论问题的基本工具,适用于网络分析、路径规划、连通性判断等多种实际问题。
2026-02-19 19:48:53
866
原创 程序员算法圣经-LeetCode Hot100上
本文汇总了常见算法题目的C++和Java实现代码,涵盖哈希、双指针、滑动窗口、子串、普通数组、矩阵、链表和二叉树等多个类别。主要内容包括: 哈希相关题目:两数之和、字母异位词分组、最长连续序列的实现 双指针题目:移动零、盛水容器、三数之和、接雨水的解法 滑动窗口题目:无重复字符子串、字母异位词的查找 子串题目:和为K的子数组、滑动窗口最大值、最小覆盖子串 普通数组题目:最大子数组和、合并区间、旋转数组等 矩阵题目:矩阵置零、螺旋矩阵、旋转图像等操作 链表题目:相交链表、反转链表、回文链表等经典问题 二叉树题
2026-02-11 18:28:11
754
原创 数据结构总结
本文汇总了链表、栈与队列、二叉树等数据结构的常见算法实现,包括C++和Java两种语言版本。主要内容涵盖:链表操作(移除元素、反转、删除节点等)、栈与队列的实现及应用(括号匹配、逆波兰表达式等)、二叉树的遍历(前中后序、层序)及相关算法(求深度、路径和等)。每种算法均提供清晰的代码示例,适合快速查阅和参考学习。
2026-02-06 16:19:51
743
原创 大模型应用开发-LangChain框架基础
本文摘要: 文章系统介绍了大模型技术应用与开发的全流程,涵盖云端/本地模型部署、Prompt工程、LangChain框架及RAG项目实战。主要内容包括: 模型部署 阿里云百炼平台API接入与安全配置 Ollama本地模型部署方案 OpenAI兼容SDK的多平台调用方法 Prompt工程 Zero-shot/Few-shot提示技巧 金融文本分类/信息抽取实战案例 JSON数据结构处理与模板设计 LangChain框架 组件化架构:Models/Prompts/Memory/Vectorstores 链式调用
2026-02-02 23:06:45
1001
原创 基础算法技巧总结2(算法技巧零碎点,基础数据结构,数论模板)
本文总结了算法和数据结构中的常用技巧,包括高精度运算、位运算、离散化、KMP字符串匹配、进制转换、时间处理等算法技巧,以及单/双链表、栈/队列、单调栈/队列、Trie树、哈希表等基础数据结构。还涵盖了数论相关算法如质数判定、分解质因数、筛质数、最大公约数、快速幂、组合数计算,以及博弈论中的Nim游戏。每种算法和数据结构都提供了C++和Java的代码实现示例,适合作为算法学习和竞赛参考。
2026-02-01 20:23:56
1080
原创 基础算法技巧总结1(排序,二分,前缀和与差分,双指针,字符串)
文章摘要:本文总结了常见算法与数据结构实现,包括排序算法(快速排序、归并排序、堆排序)、二分查找(整数和浮点二分)、前缀和与差分(一维和二维)、双指针技巧以及字符串处理。提供了C++和Java两种语言的代码实现,涵盖模板题和应用题,如木材加工、分巧克力、最长不重复子序列等。重点展示了算法原理和代码模板,并针对不同编程语言给出了对应实现。
2026-01-26 11:18:04
620
原创 微信聊天记录导出工具
本文介绍微信聊天记录备份与导出方法。首先使用WeChatDataBackup工具(仅支持微信4.0以下版本)进行备份,生成包含聊天记录和文件的目录结构。然后通过Python脚本实现两种导出方式:1)文本消息导出,可识别图片、表情等多媒体内容并关联实际文件;2)完整消息导出,包括文本和各类附件文件(图片、语音、视频等),自动过滤无效缓存文件并按类型分类存储。两个脚本均支持将聊天记录导出为Excel和TXT格式,并生成规范的相对文件路径,便于直接访问关联的附件文件。
2026-01-25 11:55:54
719
原创 详解布隆过滤器及其实战案例
布隆过滤器是一种基于位数组和哈希函数的高效数据结构,主要用于判断元素是否存在。其核心原理是通过多个哈希函数将元素映射到位数组的不同位置,查询时若所有对应位均为1则可能存在(可能存在误判),否则一定不存在。布隆过滤器具有空间效率高、查询速度快的特点,但无法删除元素且误判率随元素增加而上升。典型应用场景包括缓存穿透防护、黑名单过滤、URL去重等。文章还介绍了Guava和Redis两种实现方式,并给出了一个点赞系统的优化案例,展示了布隆过滤器在实际业务中的应用价值。
2026-01-21 22:28:13
650
原创 详解一致性哈希算法
摘要:一致性哈希算法是解决分布式系统负载均衡问题的有效方案。相比传统哈希取模算法,它通过将哈希空间组织成环形结构,实现节点增减时仅需重定位少量数据。算法原理是将节点和请求映射到2^32的哈希环上,通过顺时针查找确定数据归属。引入虚拟节点机制解决了数据倾斜问题,确保负载均衡。本文详细阐述了算法原理、实现方式(包括扩容缩容处理)及Java代码实现,展示了其在分布式缓存等场景中的优势,具有容错性和可扩展性。测试结果表明,该算法能有效减少节点变化时的数据迁移量。
2026-01-13 19:52:36
612
原创 搜索算法刷题总结(DFS+BFS)
本文总结了DFS和BFS算法的基本模板及其典型应用。DFS部分包括指数型枚举、排列组合、N皇后问题等经典案例,展示了如何通过递归实现深度优先搜索。BFS部分涵盖了迷宫问题、马的遍历、洪水灌溉等场景,演示了使用队列实现广度优先搜索的方法。每种算法都提供了C++和Java的双语代码实现,包含状态标记、路径记录等关键步骤。文章还涉及剪枝优化、多源BFS等进阶技巧,为理解这两种基础搜索算法提供了全面参考。
2026-01-03 16:53:28
510
原创 详解事件循环与浏览器渲染机制
摘要:浏览器采用多进程架构,渲染主线程通过事件循环机制处理HTML解析、样式计算、布局等任务。异步机制避免主线程阻塞,任务按优先级在微队列、交互队列等不同队列中调度。JS执行会阻碍渲染,因其与渲染任务共享主线程。渲染流程包含解析、样式计算、布局、分层等阶段,最终由合成线程和GPU完成绘制。transform效率高因其仅影响合成阶段,不涉及主线程。reflow是布局重计算,repaint是绘制指令更新,两者均影响性能。
2026-01-02 16:54:32
1026
原创 PythonWeb基础-FastAPI使用
FastAPI是一个基于Python的高性能Web框架,专为构建API接口服务设计。摘要涵盖以下核心内容:1)基础使用包括项目创建、路由定义和参数处理(路径/查询/请求体参数);2)请求响应机制支持JSON、HTML等多种格式;3)中间件和依赖注入实现通用逻辑复用;4)ORM数据库操作完整流程,包含模型定义、CRUD操作和复杂查询(条件/聚合/分页)。框架特性包括异步支持、自动数据验证、类型提示和交互式文档,显著提升开发效率和API性能。
2025-12-28 17:20:33
1231
原创 分布式任务调度与XXL-JOB
本文介绍了分布式任务调度的概念与实现方式。首先阐述了任务调度的基本概念,对比了单机多线程和分布式多线程两种实现方案,分析了Java内置的Timer、ScheduledExecutor以及第三方框架Quartz的优缺点。然后重点讲解了分布式任务调度的核心目标:并行调度、高可用、弹性扩容、任务管理等。接着详细介绍了XXL-JOB框架,包括其架构设计(调度中心、执行器、任务)、工作流程和部署方式。最后通过示例演示了如何实现分片广播任务,展示了如何利用分片参数实现任务的分布式执行,并探讨了执行器集群动态扩容时任务分
2025-12-27 15:13:01
1062
原创 OAuth2协议与微信扫码登录实战
本文介绍了OAuth2协议及其在微信扫码登录中的应用实现。OAuth2是一种开放、安全的授权标准,支持授权码、密码等多种模式,其中授权码模式被微信扫码登录采用。文章详细解析了微信扫码登录流程:用户扫码授权→获取授权码→换取令牌→获取用户信息→完成登录。技术实现方面,使用JWT令牌解决认证服务与资源服务间的校验问题,并提供了完整的后端接口设计(包括获取授权URL、处理回调等)和前端测试页面代码。系统通过网关进行统一认证,各微服务自行处理授权,确保安全性的同时提高性能。整体方案实现了基于OAuth2协议的无缝第
2025-12-26 20:21:02
894
原创 山东建筑大学算法分析与设计课程题目总结
本文总结了多种算法问题的解题思路与实现代码,主要包括动态规划、贪心算法和其他经典问题。动态规划部分涵盖了数位统计、集合划分、最大乘积、数字三角形等12个问题,详细阐述了状态定义和转移方程。贪心算法部分包含会场安排、程序存储等4个问题,重点介绍了排序策略和优先队列的应用。其他问题包括汉诺塔和子集和等经典算法。每个问题都提供了清晰的解题思路和完整的C++代码实现,展现了不同算法在解决实际问题时的应用方式和效率优化技巧。
2025-12-18 19:02:13
1015
原创 大文件上传下载处理方案-断点续传,秒传,分片,合并
本文介绍了大文件上传下载的断点续传技术方案。上传方面,通过前端将大文件分块(如5MB/块),后端使用MinIO存储分块并合并,实现断点续传和秒传功能。下载方面,采用Range请求分片下载,前端合并分片触发下载。技术要点包括:1)前端分块计算MD5;2)后端MinIO存储管理;3)分片校验与合并;4)进度监控和异常处理。该方案解决了大文件传输中断问题,提升用户体验,适用于视频等大文件传输场景,完整代码示例包含前后端实现。
2025-12-14 17:22:19
777
原创 算法学习笔记-动态规划基础题总结
本文总结了力扣上常见的动态规划问题及解法,主要包括: 基础问题:爬楼梯、路径问题、整数拆分、二叉搜索树等,使用一维或二维DP数组记录状态。 背包问题:01背包(分割等和子集、目标和)、完全背包(零钱兑换、组合总和)等,通过物品和容量循环求解。 股票问题:包含交易次数限制、冷冻期、手续费等条件,通过多维状态转移处理。 子序列问题:最长递增子序列、公共子序列、编辑距离等,利用双字符串匹配思路。 回文问题:回文子串计数、最长回文子序列,采用区间DP方法。 所有问题都给出了核心思路和标准解法代码,展现了动态规划在各
2025-11-27 21:11:30
943
原创 算法学习笔记-动态规划常用模板
本文总结了常见动态规划问题的模板与解法,包括: 背包问题系列:01背包、完全背包、多重背包(基础与优化)、分组背包问题,给出状态转移方程与代码实现。 线性DP问题:数字三角形、最长上升子序列(基础与优化)、最长公共子序列、编辑距离问题,详细说明递推思路。 区间DP问题:合并石子问题,分析区间合并的最优子结构。 计数DP问题:整数划分问题,介绍拆分数计算的动态规划方法。 树形DP问题:没有上司的舞会,展示树上状态转移的处理方法。 记忆化搜索问题:滑雪问题,演示如何通过缓存优化暴力搜索。 每个问题都包含题目描述
2025-11-21 13:03:02
1077
原创 大模型应用开发5-SpringAIalibaba实战
本文介绍了SpringAIAlibaba开源项目,该项目基于SpringAI构建,为阿里云通义系列模型提供Java开发实践。主要内容包括: 基础使用:配置模型API、依赖引入、调用示例,支持同步和流式调用; 多种集成方式:对接本地Ollama模型、ChatClient高级API、SSE流式输出; 核心功能实现:提示词模板、结构化输出、持久化内存、文本生成图片/语音; 高级能力:向量数据库、RAG增强检索、工具调用(Tool Calling); MCP协议:标准化工具调用方案,实现服务端工具共享;
2025-11-14 21:10:14
1601
3
原创 算法学习笔记-贪心算法总结2
本文总结了贪心算法的常用模型及其应用场景,通过多个LeetCode题目实例展示了贪心策略的具体实现。每个问题都给出了清晰的解决思路和代码实现,展示了贪心算法在不同场景下的灵活应用,包括排序、堆优化、双指针等技巧的组合使用。
2025-11-13 12:54:18
952
原创 详解EMQX2-EMQX功能使用
EMQX是一款开源的MQTT消息代理服务器,提供丰富的功能和管理工具。文章介绍了EMQX的核心功能模块,包括: Dashboard管理界面 - 提供Web可视化管理,支持设备监控、插件管理、规则引擎配置等操作,默认端口18083。 多种认证方式 - 支持用户名/ClientID认证、HTTP API认证、JWT及数据库认证,包含密码加密和认证链机制。 客户端SDK - 提供Java(Paho)和JavaScript(MQTT.js)的SDK实现,包含连接管理、消息发布订阅等功能示例代码。 日志系统 - 支持
2025-10-24 14:29:26
1327
原创 详解EMQX1-MQTT与EMQ基础介绍
MQTT协议与EMQX服务器摘要 MQTT是一种基于发布/订阅模式的轻量级物联网通信协议,具有低带宽占用、支持QoS服务质量和设备状态感知等特点。协议采用固定头+可变头+消息体结构,支持三种消息服务质量等级(QoS0/1/2),适用于不稳定网络环境和资源受限的物联网设备。 EMQX是开源的分布式MQTT消息服务器,单机支持百万级连接,提供完整的MQTT协议实现。其核心功能包括: 支持MQTT 3.1.1/5.0协议和WebSocket连接 提供认证鉴权、访问控制等安全机制 内置规则引擎支持消息桥接转发 集群
2025-10-24 11:05:50
988
原创 算法学习笔记-贪心算法总结1
本文总结了贪心算法在区间问题和实际应用中的典型解法。区间问题包括最大不相交区间、区间选点、无重叠区间、合并区间、区间分组和区间覆盖等6类问题,核心思路都是通过排序处理并维护关键端点。其他应用场景包括合并果子、排队打水、货仓选址等11个问题,展示了贪心算法如何通过局部最优达到全局最优。每种问题都给出了解题思路和示例代码,为处理贪心类算法题提供了系统性的方法论。
2025-10-23 19:58:16
1114
原创 Java日志收集技术
本文系统介绍了Java日志系统的发展历程及主流框架。首先阐述了日志的基本概念和作用,包括调试日志和系统日志的分类。随后详细解析了JUL、Log4j等传统日志框架的使用方法,并介绍了JCL、SLF4J等日志门面技术。重点讲解了SLF4J的绑定机制和桥接技术,以及Logback和Log4j2两大主流日志实现框架的特性与配置方式。最后说明了SpringBoot框架中的日志系统整合方案,包括默认的Logback实现和切换为Log4j2的方法。文章通过代码示例展示了各框架的具体应用,为开发者选择适合的日志方案提供了全
2025-10-21 21:55:21
1313
原创 深入剖析RocketMQ3-底层原理
RocketMQ核心功能与源码分析摘要 消息存储机制 采用CommitLog顺序写+ConsumeQueue索引的设计,支持高性能持久化 提供同步/异步刷盘策略,平衡性能与可靠性 通过内存映射(MappedByteBuffer)和零拷贝技术提升IO效率 过期文件自动删除机制默认保留72小时 高可用架构 Master-Slave主从复制,支持同步/异步复制模式 消费者自动故障转移,支持从Slave读取 多副本机制保障数据安全 负载均衡 生产者轮询消息队列实现发送负载均衡 消费者支持平均/轮询等多种队列分配策略
2025-10-18 17:39:34
795
原创 深入剖析RocketMQ2-实战案例
本文介绍了一个基于电商场景的订单和支付系统实现方案。系统采用SpringBoot+Dubbo+Zookeeper+RocketMQ技术栈,重点解决分布式系统中的数据一致性问题。在订单模块,通过预订单生成、库存扣减、优惠券使用、余额扣减等步骤完成下单流程,并利用RocketMQ实现失败补偿机制。支付模块处理第三方支付回调,通过消息队列异步更新订单状态。系统通过分布式事务保证数据一致性,采用线程池优化消息发送性能,并提供完整的测试方案验证系统功能。本文详细阐述了技术架构、数据库设计、核心业务流程以及异常处理机制
2025-10-18 16:36:29
1007
原创 深入剖析RocketMQ1-基础使用
本文介绍了RocketMQ消息队列的核心概念、集群部署及消息发送示例。首先阐述了消息队列的作用包括应用解耦、流量削峰和数据分发,并对比了不同MQ产品的优缺点。重点讲解了RocketMQ的集群架构模式,详细演示了双主双从集群(2m-2s同步双写)的搭建过程,包括环境配置、Broker参数设置和集群启动。最后通过代码示例展示了基本消息发送接收、顺序消息、延迟消息、批量消息、消息过滤和事务消息的实现方式,为开发者提供了RocketMQ的实用指南。
2025-10-18 15:20:14
628
原创 手撕Netty2-进阶原理
本文分析了Netty网络编程中的粘包和半包问题,并提出了四种解决方案。粘包是指多个数据包被合并接收,而半包则是单个数据包被拆分接收。文章通过代码示例展示了这两种现象,并指出其本质原因是TCP流式协议的无边界特性。针对这些问题,提出了短连接、固定长度、分隔符和预设长度四种解决方案,并详细说明了每种方案的实现方法及优缺点。此外,文章还介绍了协议设计的重要性,列举了Redis和HTTP协议示例,并给出了聊天室案例的业务实现,包括登录、单聊、群聊等功能。最后讨论了连接假死问题及通过空闲检测和心跳机制保持连接活跃的方
2025-10-10 20:19:56
805
原创 手撕Netty1-基础使用
Netty是一个异步事件驱动的网络应用框架,用于快速开发高性能、可维护的网络服务器和客户端。相比原生NIO,Netty解决了粘包半包、空轮询等问题,提供了更易用的API。核心组件包括EventLoop(事件循环线程)、Channel(数据通道)、Pipeline(处理器链)和ByteBuf(高效字节容器)。Netty支持零拷贝、内存池化等优化技术,被广泛应用于Cassandra、Spark、Dubbo等知名项目中。通过示例展示了Netty的双向通信机制,并澄清了Java Socket全双工特性,即使阻塞IO
2025-10-10 19:23:34
680
原创 深入剖析Java通信架构下的三种IO模式2
文章摘要: Java NIO(New I/O)是Java 1.4引入的高效I/O API,支持非阻塞操作,核心组件包括Channel(通道)、Buffer(缓冲区)和Selector(选择器)。与BIO(阻塞I/O)相比,NIO以块方式处理数据,效率更高;通过Selector单线程可监听多通道事件,实现高并发。Buffer提供数据存取,Channel负责传输,支持双向读写;文件操作通过FileChannel实现,网络通信结合SocketChannel和Selector实现非阻塞多路复用。文章还对比了BIO/
2025-10-09 18:24:49
851
原创 深入剖析Java通信架构下的三种IO模式1
本文介绍了Java网络编程中的三种I/O模型(BIO、NIO、AIO)及其实际应用。BIO采用同步阻塞模式,每个连接对应一个线程,适用于连接数较少场景;NIO通过多路复用实现非阻塞,适合高并发短连接;AIO基于操作系统异步I/O,适用于长连接重操作。文章详细讲解了BIO模式的实现原理,包括基本通信、多客户端处理、伪异步优化等,并通过一个即时通讯项目案例(支持登录、群聊、私聊等功能)展示了BIO的实际应用。随着JDK版本迭代,NIO和AIO提供了更高性能的网络通信方案。
2025-10-09 16:18:13
819
原创 详解Kafka2-进阶机制
本文摘要: 文章详细介绍了Kafka的分区与副本机制,包括生产者分区写入策略(轮询、随机、按key分配、自定义)、消费者组Rebalance机制及其影响,以及消费者分区分配策略(Range、RoundRobin、Sticky)。同时,阐述了Kafka的副本机制、数据存储形式(Segment结构)、消息不丢失机制(生产者ACK、消费者Offset管理)和数据积压问题。此外,还介绍了Kafka的数据清理策略(日志删除与压缩)、配额限速机制(Quotas)及监控工具Kafka-Eagle的使用方法。通过原理分析与
2025-10-04 16:00:41
945
原创 详解Kafka1-基础使用
Kafka消息队列技术指南 本文系统介绍了Kafka消息队列的核心概念与应用实践。主要内容包括: 消息队列基础 两种模型:生产者-消费者模型和发布-订阅模型 应用场景:异步处理、系统解耦、流量削峰等 Kafka核心架构 重要组件:Broker、Zookeeper、Topic、Partition等 消费者组机制实现负载均衡 消息存储与分区策略 实践操作 集群搭建与环境配置 基准测试方法与性能指标 Java API编程示例(生产者/消费者) 事务编程实现原子操作 高级特性 生产者幂等性原理与配置 事务API与隔
2025-10-03 21:45:41
982
原创 深入MySQL底层3-事务与锁机制
本文系统介绍了MySQL事务机制及锁实现原理。主要内容包括:1. 事务基础:定义事务为不可分割的操作集合,详解ACID四大特性(原子性、一致性、隔离性、持久性)及其实现机制,分析脏读、不可重复读、幻读等并发问题及四种隔离级别的解决方案。2. 日志系统:阐述redo log(重做日志)保障持久性的WAL机制,以及undo log(回滚日志)实现原子性和MVCC的逻辑。3. MVCC原理:通过隐藏字段(DB_TRX_ID,DB_ROLL_PTR)、undo log版本链和ReadView实现多版本并发控制,详细
2025-09-26 10:47:07
638
原创 深入MySQL底层2-SQL优化与数据库运维管理
本文系统介绍了MySQL数据库优化与集群部署的关键技术。主要内容包括:1. SQL优化技巧:插入数据优化、主键设计原则、order by/group by/limit/count/update等操作的性能优化方法。2. 日志管理:详细解析错误日志、二进制日志、查询日志和慢查询日志的配置与使用。3. 主从复制:阐述MySQL主从复制原理,提供主库和从库的详细配置步骤。4. 分库分表:介绍垂直拆分和水平拆分策略,分析MyCat中间件的实现技术及分片规则。5. 读写分离:讲解一主一从和双主双从架构的实现方法。全文
2025-09-25 20:32:33
1067
原创 深入MySQL底层1-存储引擎与索引
MySQL体系结构分为连接层、服务层、引擎层和存储层,其中引擎层采用插件式架构,支持多种存储引擎。InnoDB是默认引擎,支持事务、行锁和外键,其数据以B+树结构存储;MyISAM适合读多写少场景;Memory引擎将数据存于内存。索引是提高查询效率的关键数据结构,主要包括B+树和Hash两种结构,B+树适合范围查询,Hash适合等值查询。合理使用索引需遵循最左前缀法则,避免索引失效情况,并考虑覆盖索引、前缀索引和联合索引的应用。索引设计原则包括:选择高区分度列、控制索引数量、优先使用联合索引等,以平衡查询性
2025-09-25 16:54:15
1241
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅