- 博客(342)
- 资源 (1)
- 收藏
- 关注
原创 Redis 持久化详解:RDB 与 AOF 的配置、触发机制和实际测试
Redis持久化详解:RDB与AOF配置、触发机制及实际测试,深入探讨数据快照、追加备份,以及持久化工作原理。通过实测手动触发与自动触发,全面了解Redis数据保障机制。
2024-01-25 20:05:20 1353
原创 策略+工厂模式使用模版
使用策略 + 工厂设计模式可以有效地简化大量的 if-else 逻辑。通过定义统一的策略接口和多个具体策略实现,结合工厂类进行管理,实现了代码的高内聚低耦合。这样,根据不同的需求类型,可以灵活地切换策略,提高了代码的可维护性和可扩展性。
2024-01-10 16:35:42 363
原创 【Java】四种方案实现限流
详细介绍了四种常见的限流算法:固定窗口、滑动窗口、漏桶和令牌桶。每种算法都有具体的代码示例和适用场景,帮助读者理解和选择最适合自己的限流策略。
2023-12-16 21:14:13 2137 1
原创 MapStruct 使用教程
这是一个简单的示例,展示了如何在 Spring Boot 项目中使用 MapStruct 来简化对象之间的映射。MapStruct 提供了强大的功能,可以处理复杂的映射情况,还支持自定义映射方法和格式化。通过创建合适的映射接口并配置注解处理器,你可以有效地减少手动编写映射代码的工作。在 Spring Boot 项目中使用 MapStruct,可以简化对象之间的映射操作,而不必手动编写大量的映射代码。生成映射实现类:MapStruct 使用注解处理器生成映射方法的实现类。来执行对象之间的映射。
2023-11-03 10:15:40 206
原创 Redis 集群搭建教程
本文介绍如何在一台服务器上伪集群搭建 Redis 高可用集群,包括环境准备、安装、配置、连接、故障模拟等步骤。通过模拟故障,演示了 Redis 集群的容错性。详细教程请参考作者的博客。
2023-09-25 20:33:32 358
原创 Redis 哨兵模式搭建教程
本文通过3台CentOS服务器搭建Redis哨兵高可用集群。介绍了准备环境、安装配置Redis和哨兵的步骤,以及启动、测试数据同步和主节点故障切换的过程,是一份完整的Redis哨兵模式实践指南。
2023-09-23 16:50:14 1230
原创 【Redis】Bitmap 使用及应用场景
本文首先介绍了Redis中的6个Bitmap相关命令,包括SETBIT、GETBIT、BITCOUNT等,并附带示例说明每个命令的用法。然后给出了5个使用Bitmap的应用场景,如统计用户在线状态、用户打卡记录、计算连续签到用户等,都可以通过将用户ID映射为Bitmap的offset,从而实现快速查询和统计
2023-09-07 20:39:12 1597
原创 【Java】三种方式快速统计代码运行时长
方法一(推荐)使用apache的包import org.apache.commons.lang3.time.StopWatch;public class tmpTest { public static void main(String[] args) { //初始化 StopWatch stopWatch = new StopWatch(); stopWatch.start(); Math.sqrt(1.44
2022-05-27 14:18:37 2404
原创 【题目】最小移动次数使数组元素相等
题目描述给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最少移动数。在一步操作中,你可以使数组中的一个元素加 1 或者减 1 。示例一输入:nums = [1,2,3]输出:2解释:只需要两步操作(每步操作指南使一个元素加 1 或减 1):[1,2,3] => [2,2,3] => [2,2,2]示例二输入:nums = [1,10,2,9]输出:16思路分析用双重for循环强解的,并没有太多巧妙的方法。不过,看力扣的题解,可
2022-05-22 15:11:07 229
原创 【题目】最大三角形面积
题目描述给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2解释:这五个点如下图所示。组成的橙色三角形是最大的,面积为2。实现代码public class Test { public static void main(String[] args) { int a[][] = {{0, 0}, {0, 1}, {1, 0}, {0, 2
2022-05-19 14:02:02 95
原创 【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 42164 1
原创 【题目】增减字符串匹配
题目描述由范围 [0,n] 内所有整数组成的 n + 1 个整数的排列序列可以表示为长度为 n 的字符串 s ,其中:如果 perm[i] < perm[i + 1] ,那么 s[i] == ‘I’如果 perm[i] > perm[i + 1] ,那么 s[i] == ‘D’给定一个字符串 s ,重构排列 perm 并返回它。如果有多个有效排列perm,则返回其中 任何一个 。示例 1:输入:s = “IDID”输出:[0,4,1,3,2]示例 2:输入:s = “
2022-05-11 23:34:40 188
原创 【题目】数组中重复的数据
题目描述给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 一次 或 两次 。请你找出所有出现 两次 的整数,并以数组形式返回。你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间的算法解决此问题。解决流程图代码class Solution { public static void main(String[] args) { int[] nums = new int[]{4, 3, 2, 7,
2022-05-09 17:29:51 276
原创 【教程】如何查看自己的外网ip是不是公网ip
步骤:1、登录路由器,在路由器运行状态界面找到:WAN IP,然后记录下来2、在百度地址中输入:IP地址查询3、如果两个第一二步的ip地址一样,那么路由器分配的外网ip就是公网ip。反之则不是。...
2022-05-01 15:31:59 20104
原创 【设计模式】适配器模式样例与用法介绍
一、前言建议把样例代码都实际的敲一遍,加深理解二、场景介绍本例子采取的是转换电压时候的样例,通过适配器将110V和220V转换为我们苹果的超级快充:5V三、代码样例3.1 电压的输出接口public interface AC { int outputAC();}3.2 110V输出的实现类public class AC110 implements AC { public final int output = 110; @Override pub
2022-04-25 08:58:55 2406
原创 【Java】堆和栈的区别
功能不同栈内存是用来存储局部变量和方法调用的。堆内存是存储Java中的对象。无论是成员变量、局部变量还是类变量、他们都是指向的对象都是存储在堆内存中。共享性不同堆内存是线程私有。堆内存是所有线程共有的。异常错误不同栈内存不足: java.lang.StackOverFlowError堆内存: java.;ang.OutOfMemoryError空间大小栈的空间远远小于堆。存取速度不同一般来说,栈的存取速度是大于堆的。...
2022-04-16 18:56:30 222
原创 【日志】@Slf4j 快速上手指南
结果展示使用方式类上加注解: @Slf4j引入依赖<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.10</version></dependency><dependency> <groupId>or
2022-03-22 20:28:20 838
Typora主题大全,里面onedark等主题
2021-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人