
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文讲解 LeetCode 热题 100 中 “盛最多水的容器” 解法,题目需找出数组中两条垂线与 x 轴构成的最大盛水容器并返回水量。暴力解法遍历所有垂线组合,时间复杂度 O (n²),大数据量超时。最优双指针法:左指针在最左、右指针在最右,按 “min (左高,右高)× 宽度” 算盛水量并更新最大值,移动较矮指针(移动高指针水量必减,移动矮指针或遇更高垂线增水量),直至指针相遇。附 Java

本文主要讲解 MyBatis-Plus 中 QueryWrapper 与 LambdaQueryWrapper 的核心区别与选型。二者均简化 SQL 条件拼接,核心差异在字段引用:QueryWrapper 靠字符串硬编码,无编译校验,重构易出错;LambdaQueryWrapper 用 Lambda 表达式,支持类型安全与 IDE 自动重构。文章通过代码示例对比,说明 Lambda 依赖实体 ge

本文讲解 Docker 从基础到实战的完整知识体系,围绕容器化技术解决跨环境部署痛点展开。先介绍 Docker 核心优势、架构组件与 "不可变基础设施" 理念,再详解服务、镜像、容器的常用命令,以及数据卷持久化方案。重点实战了 MySQL、Tomcat 等中间件部署,和 SpringBoot 项目镜像构建流程,还涵盖 Docker Compose 服务编排与私有仓库应用。通过对比容器与传统虚拟机的

本文主要讲解如何在 Linux 虚拟机中完成 Redis 从环境准备、下载安装、核心配置、启动验证到安全连接的完整部署流程,详细介绍了依赖安装、配置文件修改、后台启动、密码认证等关键步骤,并针对命令行密码警告、远程连接失败等常见问题提供了解决方案,帮助开发者快速搭建安全可用的 Redis 服务。

本文主要讲解 LeetCode 热题 100 的第一题 “两数之和”。先明确题目要求,即从整数数组中找出和为目标值的两个整数并返回下标,给出示例与提示。接着分析两种解法:一是暴力解法,通过双重循环查找,时间复杂度 O (n²),效率低;二是哈希表优化解法,以空间换时间,将查找互补元素时间降至 O (1),整体时间复杂度 O (n),通过两个测试案例验证哈希表解法正确性,最后总结核心启示,即需快速查

本文主要讲解 LeetCode 热题 100 中 “字母异位词分组” 题的 Java 解法。该题要求将字母异位词(由相同字母不同顺序组成的字符串)分组。核心思路是找到异位词的共同标识,借助哈希表实现 “标识 - 分组列表” 映射。介绍两种标识生成方式,重点讲解排序法和计数法的 Java 代码实现,排序法代码简洁,计数法效率更高。还通过测试案例验证代码正确性,分析两种方法的时间与空间复杂度,总结出解

本文讲解了 MySQL 数据库中锁的核心分类及应用逻辑,包括按锁粒度划分的全局锁、表锁、行锁,按冲突策略划分的悲观锁与乐观锁,按读写权限划分的共享锁与排他锁,以及辅助性的意向锁,还细分了行锁下的记录锁、间隙锁、临键锁(InnoDB 解决幻读的核心),同时阐述了 MVCC 与锁的配合关系,明确了不同锁的定义、特点、适用场景、实现命令及关键注意事项(如 InnoDB 行锁基于索引、乐观锁需业务逻辑实现

本文讲解了 MySQL 数据库中锁的核心分类及应用逻辑,包括按锁粒度划分的全局锁、表锁、行锁,按冲突策略划分的悲观锁与乐观锁,按读写权限划分的共享锁与排他锁,以及辅助性的意向锁,还细分了行锁下的记录锁、间隙锁、临键锁(InnoDB 解决幻读的核心),同时阐述了 MVCC 与锁的配合关系,明确了不同锁的定义、特点、适用场景、实现命令及关键注意事项(如 InnoDB 行锁基于索引、乐观锁需业务逻辑实现

本文主要讲解 Elasticsearch(ES)的核心知识与实战应用,先从基础概念切入,梳理索引、文档、分片等核心术语及分布式架构特点,再深入剖析倒排索引原理、文档写入流程与分片机制,同时结合 RESTful API 示例,展示索引创建、文档操作、复杂查询与聚合分析等核心实操。此外,针对高频面试场景,系统解答 ES 与 Lucene 关系、主副分片作用、集群脑裂解决办法等问题,并提供查询性能优化、








