- 博客(369)
- 资源 (1)
- 收藏
- 关注

原创 布隆过滤器原理与Spring Boot实战
本地实现:Guava BloomFilter,适合单机场景分布式实现:Redis + Redisson,适合集群环境核心应用:缓存穿透防护、数据去重、快速存在性检查合理使用布隆过滤器能显著提升系统性能,但要注意误判特性和参数调优。
2025-08-06 14:00:57
389

原创 【设计模式】责任链+模板+工厂模式使用模板
本文通过一个Java示例展示了如何结合责任链, 模版,工厂设计模式,编写优雅、解耦、高内聚且高复用的代码
2025-05-22 20:41:24
539

原创 Rustdesk 自建服务器教程
我是xiucai,一位后端开发工程师。如果你对我感兴趣,请移步我的个人博客,进一步了解。本文首发于个人博客,未经许可禁止转载💌。
2024-06-02 20:28:49
14165
1

原创 【Java 开发】模版模式使用模版
/ 请求命令基类// 其他通用字段// 具体请求命令类// 关闭订单特有的字段// 接受订单特有的字段// 拒绝订单特有的字段// 抽象执行器基类@Component// 通用的订单处理逻辑// 调用子类实现的特定处理逻辑// 其他通用的后续处理// ...// 通用的请求校验逻辑// 具体执行器类@Service@Override// 处理关闭订单的特定逻辑@Service@Override// 处理接受订单的特定逻辑@Service。
2024-05-17 20:28:42
336

原创 Redis 持久化详解:RDB 与 AOF 的配置、触发机制和实际测试
Redis持久化详解:RDB与AOF配置、触发机制及实际测试,深入探讨数据快照、追加备份,以及持久化工作原理。通过实测手动触发与自动触发,全面了解Redis数据保障机制。
2024-01-25 20:05:20
3309

原创 【Java 开发】策略+工厂模式使用模版
使用策略 + 工厂设计模式可以有效地简化大量的 if-else 逻辑。通过定义统一的策略接口和多个具体策略实现,结合工厂类进行管理,实现了代码的高内聚低耦合。这样,根据不同的需求类型,可以灵活地切换策略,提高了代码的可维护性和可扩展性。
2024-01-10 16:35:42
743

原创 Redis 集群搭建教程
本文介绍如何在一台服务器上伪集群搭建 Redis 高可用集群,包括环境准备、安装、配置、连接、故障模拟等步骤。通过模拟故障,演示了 Redis 集群的容错性。详细教程请参考作者的博客。
2023-09-25 20:33:32
785

原创 Redis 哨兵模式搭建教程
本文通过3台CentOS服务器搭建Redis哨兵高可用集群。介绍了准备环境、安装配置Redis和哨兵的步骤,以及启动、测试数据同步和主节点故障切换的过程,是一份完整的Redis哨兵模式实践指南。
2023-09-23 16:50:14
5109
3

原创 【Redis】Bitmap 使用及应用场景
本文首先介绍了Redis中的6个Bitmap相关命令,包括SETBIT、GETBIT、BITCOUNT等,并附带示例说明每个命令的用法。然后给出了5个使用Bitmap的应用场景,如统计用户在线状态、用户打卡记录、计算连续签到用户等,都可以通过将用户ID映射为Bitmap的offset,从而实现快速查询和统计
2023-09-07 20:39:12
3708

原创 【Git】撤销分支的合并Merge
背景某次,因为蛋疼的原因,不小心把不该合并的分支合到了dev或者master分支,影响到了需求上线或其他。这时候就需要撤销某次的合并了。解决方案方案一1、找到最后一次提交到master分支的commit_id,即merge前的commit_id,也就是目标要回退到的commit_id。本图为Idea 2021.3 版本查看commit_id的方式。(点开git提交历史,查看代码改动的时候,左边的剪头指的那个)2、在当前分支,打开终端,执行命令回退 git reset --hard comm
2022-05-13 21:11:03
44125
1

原创 【Java】LocalDate、LocalTime、LocalDateTime方法测试
Code:import java.time.Duration;import java.time.LocalDate;import java.time.LocalDateTime;import java.time.LocalTime;import java.time.format.DateTimeFormatter;public class Test { public static void main(String[] args) throws InterruptedException
2021-07-25 15:08:09
404
原创 MySQL8 排名窗口函数实战
在数据库查询与数据分析中,对数据分组并进行排名是一项常见任务。SQL 窗口函数为此提供了高效的解决方案。本文旨在阐明三个核心排名函数——RANK()与——的功能、差异及适用场景。
2025-08-26 20:29:55
76
原创 Java 线程生命周期的六种状态详解
对于 Java 并发编程而言,深入理解线程的生命周期模型是一项基本要求。该模型为分析并发行为、诊断性能问题以及解决死锁等提供了理论基础。在 Java 虚拟机(JVM)层面,线程的状态被精确地定义在枚举中,共包含六种状态。
2025-08-23 12:50:39
309
原创 MySQL深分页慢问题及性能优化
策略优点缺点适用场景延迟关联功能完整,性能提升显著SQL复杂,深度分页仍有瓶颈需要跳转页码的传统分页键集分页性能最佳且稳定无法跳页无限滚动、上一页/下一页业务限制实现简单,规避问题功能受限搜索结果等多数常规列表结论:在设计分页功能时,应优先考虑键集分页方案以获得最佳性能。如果必须支持跳转任意页码,延迟关联是一个有效的折中选择。根据实际业务需求选择最合适的策略,是解决深分页问题的关键。
2025-08-21 21:44:05
705
原创 Java ReentrantLock 核心用法
是 Java 中处理并发问题的强大工具,用于解决多线程下的竞态条件(如count++操作导致的数据不一致)。本文旨在展示其最核心、最标准的用法。
2025-08-20 17:30:18
295
原创 Redisson 分布式锁核心机制解析
Redisson 分布式锁(RLock)的可靠性依赖于其三大核心机制:用于保证原子性的 Lua 脚本、用于自动续期的看门狗(Watchdog)以及用于高效等待的发布/订阅(Pub/Sub)模型。本文旨在解析这三个机制的内部工作原理。
2025-08-19 10:33:40
352
原创 深入理解“看门狗”机制:一种优雅的自动续期模式
在分布式系统中,资源(如分布式锁)的租约管理是一个核心挑战。为锁设置固定过期时间,可能因业务执行超时而导致锁提前释放;若不设过期时间,又可能因服务宕机而造成永久死锁。自动续期机制,即“看门狗”(Watchdog),是应对此问题的标准解决方案。本文将通过一个极简的实现,深入剖析该模式的内在机理。
2025-08-18 17:44:44
386
原创 【LeetCode】102 - 二叉树的层序遍历
给你二叉树的根节点 root,返回其节点值的层序遍历(即逐层地,从左到右访问所有节点)。算法按层级正确遍历,符合预期结果。
2025-08-10 11:40:18
287
原创 【LeetCode】链表反转实现与测试
本文介绍了一种使用 ArrayList 和 Collections.reverse() 方法来实现链表反转的解决方案,虽然这种方法在空间复杂度上不是最优的,但代码简洁易懂。
2025-07-30 20:29:39
263
原创 【LeetCode】LRU 缓存 题解
LRU (Least Recently Used) 缓存是一种常用的缓存淘汰策略,当缓存满了需要删除数据时,优先删除最久未使用的数据。HashMap 解决了快速查找的问题双向链表解决了维护访问顺序的问题通过将最近访问的元素移到链表尾部,最久未使用的元素自然就在链表头部这种设计既保证了操作的高效性,又满足了 LRU 策略的需求。
2025-07-27 18:12:16
505
原创 【Java】将 Java 代码打包成 Jar 包
首先,确保已经安装了 JDK。然后在本地终端中进入 Java 源代码所在的目录,编译代码。为了让 Jar 包能够自动找到主类,需要创建一个。注意 Main-Class 下面必须有一个换行。这会在当前目录下生成。打包成 Jar 包。这会在当前目录下生成。
2024-09-05 15:53:58
1725
原创 【本地调试】使用 Nginx 和 Hosts 文件实现本地开发调试请求转发
在本地开发过程中,经常需要将外部请求转发到本地服务器进行调试。本文介绍了如何通过 Nginx 和 Hosts 文件配置,将请求转发到本地运行的 blog 服务器,方便进行开发调试。
2024-06-25 15:54:10
805
原创 【已解决】Error response from daemon: Get “https://index.docker.io/v1/search?q=redis&n=25“: net/http: TLS
使用默认的 docker 源,在搜索安装镜像的时候,比如docker search redis,大概率会出现的错误,这时候就需要设置国内源。吐槽:在网上找了好几个 blog,有让换 dns 的,有设置一个什么 docker-cn 的源的,都不管用,因此有了此篇 blog。
2024-05-23 19:28:04
28737
15
原创 DataGrip2023 在 Database 表名后面显示 comment 注释
DataGrip 在 Database 表名后面显示 comment 注释
2024-05-17 11:17:14
1323
原创 vm 虚拟机 Debian12 开启 root、ssh 登录功能
前言,安装的时候语言就选中文就好了。选择中文,在安装的时候就可以选择国内 163 的源。
2024-05-15 18:09:00
2521
原创 【Java】四种方案实现限流
详细介绍了四种常见的限流算法:固定窗口、滑动窗口、漏桶和令牌桶。每种算法都有具体的代码示例和适用场景,帮助读者理解和选择最适合自己的限流策略。
2023-12-16 21:14:13
4520
1
原创 MapStruct 使用教程
这是一个简单的示例,展示了如何在 Spring Boot 项目中使用 MapStruct 来简化对象之间的映射。MapStruct 提供了强大的功能,可以处理复杂的映射情况,还支持自定义映射方法和格式化。通过创建合适的映射接口并配置注解处理器,你可以有效地减少手动编写映射代码的工作。在 Spring Boot 项目中使用 MapStruct,可以简化对象之间的映射操作,而不必手动编写大量的映射代码。生成映射实现类:MapStruct 使用注解处理器生成映射方法的实现类。来执行对象之间的映射。
2023-11-03 10:15:40
547
Typora主题大全,里面onedark等主题
2021-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人