- 博客(42)
- 收藏
- 关注
原创 Java 二分查找 - 循环条件与区间写法详解
本文深度解析Java二分查找,重点讲解left<=right与left<right的区别、闭区间与左闭右开的选择、二分答案等进阶技巧,配合16道LeetCode题目详解,助你彻底掌握二分查找。
2026-03-01 17:28:58
1767
1
原创 Java 动态规划 - 力扣 零钱兑换与完全平方数 深度解析
深度解析动态规划的Java实现,从爬楼梯故事入手,通过零钱兑换和完全平方数两道经典例题,讲解DP四步解题法、手动推导过程、递推公式推导、常见错误避坑,并提供通用代码模板,助你快速掌握动态规划核心思想,秒杀LeetCode中等DP题。
2026-02-21 21:23:52
1994
1
原创 MyBatis-Plus 逻辑删除导致唯一索引冲突的解决方案
本文分析 MyBatis-Plus 逻辑删除与数据库唯一索引冲突的问题:删除数据后无法添加同名记录。通过自定义 SQL 绕过逻辑删除机制,实现已删除数据的自动恢复,提供完整代码示例和3种解决方案对比。
2026-02-08 16:44:23
1983
1
原创 正则表达式系统教程
本文系统梳理正则表达式的发展历程、核心语法与匹配规则,详解全符号含义、运算优先级及避坑要点,结合手机号校验、日志提取等实战案例,重点讲解 Java 中正则的核心应用(JSR303 校验、字符串处理等),并提供调试工具与优化技巧,助力开发者高效掌握这一通用字符串处理工具。
2026-01-24 23:24:39
1601
2
原创 MySQL 数据库 SQL 语句完全指南:新手必学的50个实战案例(附源码)
本文摘要: 《MySQL SQL 语句全攻略》是一份面向Java后端开发者的SQL实用指南。文章从基础语法讲起,包括注释写法、SQL执行顺序等关键概念,强调避免常见错误(如WHERE中使用聚合函数)。核心内容涵盖DML操作(SELECT/INSERT/UPDATE/DELETE)、条件筛选(WHERE各种运算符)、排序分组(ORDER BY/GROUP BY)以及高级查询技巧(JOIN/子查询/窗口函数)。以及索引,视图,存储过程,触发器等核心用法
2026-01-10 17:46:27
1926
2
原创 从一个 Redis 缓存封装类,聊聊好的代码设计应该长什么样
很多同学在用Redis的时候,只是简单调用原生Template做set、get,功能虽然跑通,但代码散落在各个业务Service里,复用性差、缺少统一的过期策略和异常兜底,后续维护起来非常痛苦。今天我从自己项目里封装的CacheStore缓存工具类出发,聊聊一个合格的缓存组件,在代码设计层面要考虑哪些问题,怎么遵循单一职责、做好容错与日志埋点,写出干净、稳定、方便团队复用的缓存代码。
2026-11-02 16:54:46
172
原创 MyBatis-Plus 增强版通用Mapper封装
这是一个基于MyBatis-Plus和MyBatis-Plus-Join的通用Mapper封装,提供了丰富的CRUD操作和分页功能,旨在简化数据库操作代码,提高开发效率。
2026-06-17 15:08:46
50
原创 MySQL面试高频八股25道-背会直接上战场
这份 MySQL 面试八股涵盖索引、事务、存储引擎等核心考点,详解索引规则 / 失效场景 / 调优,事务隔离级别,锁机制,B + 树特性等,还涉及 SQL 调优、数据类型选择等实操要点。
2026-05-08 19:42:47
427
原创 中小厂数据库事务高频面试题
本文整理中小厂 Java 后端必问的 15 道事务面试题,覆盖事务概念、ACID、隔离级别、MVCC、Spring 事务传播机制、@Transactional 失效场景与分布式事务基础,搭配下单扣库存、批量导入、内部调用失效3 道实战场景题,附标准答案、踩坑点与加分项,适合快速背诵、突击面试。
2026-04-21 10:36:08
364
原创 38 个 MySQL 索引核心问题:原理、失效场景与优化实战
全网最全 MySQL 索引攻略!详解 38 个核心问题:B + 树与 B 树区别、自增主键为何优于 UUID、联合索引设计原则、索引失效场景及优化方法。从底层原理到实战优化,覆盖面试高频考点与企业级落地技巧,快速提升数据库查询性能,避开索引设计坑。
2026-04-20 21:14:54
443
原创 拆分与合并的艺术·分治思想:Java归并排序深度解析
用 Java 讲透归并排序的分治原理,逐行注释代码,图解递归拆分与合并过程,并整理面试常见考点与易错陷阱,适合备战算法面试或打牢排序基础。
2026-03-16 00:05:21
1068
3
原创 java快速排序超详细总结:核心实现+简化版+趣味版
详解快速排序三种写法:挖坑法、双指针交换法、单指针法,每种均附分步演示与代码注释。涵盖复杂度分析、稳定性及面试易错点,附Python一行趣味版,新手入门面试备战均适用。
2026-03-15 11:22:23
1032
1
原创 Java数组排序函数:刷题必备
本文系统整理Java数组排序的核心用法,涵盖一维、二维数组的升序与降序排序,重点对比a-b与Integer.compare()两种写法的安全性差异,并通过实例演示溢出风险。进阶部分通俗讲解Arrays.sort()底层选择快排还是TimSort的原因,以及Lambda返回值如何控制排序方向,刷题面试一查即用。
2026-03-14 17:28:19
604
原创 Java异常处理:中小厂面试通关指南
本文针对Java后端中小厂面试,系统梳理异常处理核心考点。涵盖异常体系分类、8种高频异常、四大关键字用法、自定义异常设计、3道手撕真题及标准答案、7个面试高频问答、避坑指南和实战模板。内容精炼实用,2小时速通,助力快速掌握异常处理,轻松应对面试。
2026-03-13 15:52:16
761
原创 HashMap的四种遍历方式
HashMap 是 Java 中最常用的键值对集合,遍历方式有多种,不同方式适用于不同场景。本文从常用且高效的角度,详细讲解 4 种主流遍历方式,并说明各自的优缺点和适用场景。
2026-03-10 16:41:39
1022
原创 Java 刷题踩坑指南:10 个致命陷阱全解析
总结 Java 刷题中最容易踩的 10 个坑:包装类比较(Integer 缓存机制)、String 常量池、StringBuilder 未重写 equals()、数组比较、null 拆箱 NPE、List.remove() 的两个版本、字符与数字转换、Arrays.asList() 限制、HashMap 返回 null、循环拼接性能。每个陷阱都配有错误示例和正确写法,附带终极总结表格和记忆口诀,帮你避开 LeetCode 刷题中的常见错误。
2026-03-08 16:25:43
658
原创 Java字符串算法核心攻略
系统讲解Java字符串算法的核心方法与解题思路。涵盖五大题型:哈希表、双指针、滑动窗口、动态规划、栈,每个题型配2-3道经典LeetCode题目,代码附详细注释。重点教你"为什么这样思考"——为什么用双指针?为什么滑动窗口能从O(n²)优化到O(n)?通过解题思维框架,掌握从暴力到最优的完整思考过程,授人以渔而非授人以鱼。
2026-03-05 23:54:38
879
原创 Java集合常用方法速查表 - LeetCode刷题必备
系统总结Java集合API常用方法,涵盖List、Set、Map、Queue、Stack、Deque的增删改查操作,对比易混淆方法(add vs put、contains vs containsKey),提供LeetCode刷题常用代码片段和记忆口诀,助你快速掌握集合操作,面试不再记混。
2026-02-26 17:54:45
647
原创 Java 二叉树从入门到精通-遍历与递归详解
从零讲解Java二叉树,涵盖节点结构、五种特殊二叉树、前中后序与层序遍历的递归迭代实现,包含15道经典例题完整代码和执行过程图解,助你快速掌握二叉树核心思想,秒杀LeetCode中等题。
2026-02-23 21:15:32
1322
原创 Java 栈 - 附LeetCode 经典题解
深度解析 Java 栈的实现方式,对比 Stack、Deque、LinkedList、ArrayDeque 的底层原理、性能差异和使用场景,详解所有常用和非常用方法,结合 LeetCode 经典题目,提供最佳实践和避坑指南。
2026-02-19 21:36:11
1218
原创 Java 滑动窗口 - 附LeetCode经典题解
深度解析滑动窗口算法的 Java 实现,从 LeetCode 第 3 题「无重复字符的最长子串」入手,讲解定长/不定长窗口、双指针技巧、HashMap 优化、Unicode 字符处理,并提供通用模板,助你快速掌握滑动窗口核心思想。
2026-02-16 15:19:56
1318
原创 Java双指针 - 附LeetCode 经典题解
深度解析双指针算法的 Java 实现,涵盖对撞指针、快慢指针、滑动窗口三大类型,从 LeetCode 经典题目入手,讲解数组去重、链表环检测、三数之和等核心场景,提供通用模板,助你快速掌握双指针核心思想。
2026-02-15 19:42:47
1066
原创 Java 数组完全指南以及和ArrayList的联系
系统讲解 Java 数组与 ArrayList 的核心操作、互相转换技巧,重点解析二维数组排序和 toArray(new int[0][]) 用法,并通过力扣 56 题「合并区间」完整演示实战应用,适合算法刷题初学者。
2026-02-13 21:47:09
1189
原创 SpringBoot 事务管理解析 - @Transactional 的正确用法与常见坑
本文深入讲解 SpringBoot 中 @Transactional 注解的使用方法、事务传播机制、回滚规则以及常见的坑。通过实战案例(用户注册 + 初始化默认数据)演示如何正确使用事务,避免数据不一致问题。适合有一定 SpringBoot 基础的开发者阅读。
2026-02-11 16:34:49
747
原创 POJO、DTO、VO 详解:区别、联系与最佳实践
详解 POJO、DTO、VO 三者的区别与联系:POJO 用于数据库映射,DTO 用于层间传输,VO 用于前端展示。通过实战案例演示数据流转过程,并深入讲解 BeanUtils 使用技巧与常见陷阱。
2026-02-09 11:43:30
1064
原创 Java集合框架深度解析:HashSet
HashSet 基于 HashMap 实现,以元素为 HashMap 的 Key、固定对象为 Value 存储,保证元素唯一(通过 hashCode 和 equals 判断),无序且允许一个 null,增删查理想时间复杂度 O (1)。需注意初始容量设置、正确重写哈希方法,线程不安全,适合去重与快速查找场景。
2026-02-06 13:06:47
558
原创 SpringBoot自动配置原理解析
本文聚焦 SpringBoot 自动配置原理,先区分自动配置与自动装配的核心差异,阐释其依托 Starter 依赖、@Configuration 配置类 +@Bean、META-INF/spring.factories 三大核心技术实现 “约定优于配置” 的逻辑,还讲解了条件注解、优先级规则,并通过自定义短信 Starter 实战,清晰呈现自动配置落地方式。
2026-02-05 13:54:08
1201
原创 Spring依赖注入与自动装配解析
本文讲解 Spring 依赖注入核心知识:阐释 Bean、IoC 等概念,介绍三种注入方式(推荐构造器注入),解析 @Autowired 自动装配原理、注解差异及循环依赖等问题的解决办法。
2026-02-03 19:51:36
1197
原创 Spring Boot常用注解速查表(30个必会注解+实战案例)
本文整理 Spring Boot 开发中 30 个常用注解,按核心、Web 层、Service 层、MyBatis-Plus、AOP 等 7 大类划分。每个注解均附作用说明、实战代码、使用场景及常见错误,涵盖 @SpringBootApplication、@RestController、@Transactional 等核心注解,结合真实项目案例,详解注解用法与避坑要点,助力开发者高效掌握注解使用,简化 Spring Boot 开发流程。
2026-01-31 00:18:21
1151
原创 JavaScript逻辑运算符(||)的5种妙用 - 让代码更简洁
本文介绍 JavaScript 中逻辑或运算符(||)的 5 种实用技巧:设置默认值、链式取值、条件执行、多备选值取值、简化三元运算符,可让代码更简洁。同时指出 || 会将 0、空字符串等 6 类假值均判定为 “无值” 的陷阱,对比了 ES2020 空值合并运算符(??)的优势 —— 仅对 null/undefined 兜底,还给出不同场景下 || 和??的使用建议。
2026-01-30 14:46:46
1279
原创 JWT从零到精通 - 新手必读教程
《JWT从零到精通 - 新手必读教程》这是一份为零基础新手准备的JWT完整学习指南,每一个概念都会用最简单的语言和例子讲清楚,助新手从零到精通。
2026-01-29 11:10:02
1083
原创 SpringBoot 统一返回结果类+全局异常处理 解析
本文聚焦SpringBoot实战中「统一返回结果类」与「全局异常处理」的配套使用——二者强关联、需配套落地,核心目标(前因):规范接口返回格式,解决“格式混乱”问题;最终目的(后果):前端能统一解析数据,后端简化开发、便于维护,实现前后端高效对接。
2026-01-27 10:17:35
943
原创 Lombok 注解深度解析
本文围绕Lombok工具的“前生今世”及核心注解展开解析。Lombok于2009年诞生,核心是解决Java开发中样板代码冗余的痛点,依托注解处理器机制,在编译期自动生成重复代码,从冷门工具发展为行业标配。文中重点解析了其高频核心注解的用法与场景,客观分析优势与争议,给出最佳实践,并对比其与Java 16 record关键字的差异。其核心价值的是解放开发者,聚焦业务逻辑,适度使用可提升开发效率、降低出错率。
2026-01-26 14:14:52
1004
原创 JSR303 Bean Validation 详解(权威版)
本文全面解析JSR303数据校验规范,涵盖其迭代历程、核心组件与常用注解,结合Spring Boot实战场景,讲解基础用法与分组校验、自定义注解等高级特性,总结其标准化、解耦的核心优势,并给出企业级落地建议,助力开发者高效实现数据校验、保障系统稳定。
2026-01-24 14:58:12
975
原创 Java多线程与并发核心解析
本文系统解析 Java 多线程与并发七大核心模块线程基础、线程池、锁机制外,并发工具、volatile、CAS、ThreadLocal。详解线程创建三种方式与生命周期,拆解线程池 7 大参数协作逻辑,强调禁用 Executors、使用有界队列的生产规范;对比 synchronized、ReentrantLock、读写锁的实现与选型,补充 volatile 内存语义、CAS 原子操作、ABA问题与Atomic类、ThreadLocal 原理及隔离机制,结合代码实战与高频面试考点,适配系统梳理与面试备考场景。
2026-01-22 11:55:40
999
原创 Java集合框架深度解析:HashMap
HashMap 是 Java 非线程安全键值对容器,JDK8 底层为数组 + 双向链表 + 红黑树,通过哈希扰动、位运算定位桶下标。默认负载因子 0.75 平衡时空,链表≥8 且数组≥64 时转红黑树。需注意线程不安全(换 ConcurrentHashMap)、Key 重写 hashCode/equals,合理设置初始容量可减少扩容。
2026-01-19 19:55:41
1011
原创 Java集合框架深入解析:ArrayList & LinkedList
本文解析 Java 中 ArrayList 和 LinkedList 核心差异:ArrayList 基于动态数组,1.5 倍扩容、随机访问快(O (1))但增删慢,有 Fail-Fast 机制;LinkedList 基于双向链表,无需扩容,头尾增删快(O (1))但随机访问慢(O (n)),内存开销更高。选型优先 ArrayList,仅高频头尾操作 / 队列场景选 LinkedList。带有诸多代码解析以及代码注释解释
2026-01-18 21:03:49
1125
1
原创 三招吃透 Java 基础:单例、工厂、模板方法实战,巩固封装、继承和多态
通过单例、工厂、模板方法三大模式,把封装、继承、多态落地到日常代码:饿汉/DCL 保唯一实例,工厂解耦支付渠道,模板固化订单流程。示例即抄即用,新手也能快速写出高内聚、可扩展的程序骨架。
2026-01-16 11:10:15
748
1
原创 Java static关键字深度解析:这样用才专业!
static是Java中让数据/方法“绑在类上而非对象上”的关键字。本文系统讲解static的四大核心用法(变量、方法、代码块、内部类),深入分析执行顺序、方法隐藏等进阶知识,并演示单例模式、工具类设计等实战应用。最后总结最佳实践和常见误区,帮你彻底掌握这个重要概念。
2026-01-15 13:57:20
855
1
Java多线程与并发核心解析
2026-01-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅