自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 设计模式详解

本文摘要了8种常见设计模式:简单工厂模式通过工厂类创建对象但违反开闭原则;策略模式通过环境类调用不同算法;备忘录模式用于回退机制;代理模式通过中间层控制访问;单例模式确保唯一实例;访问者模式对稳定类结构执行不同操作;观察者模式实现主题变更通知;装饰模式通过嵌套接口增强功能。每种模式都配有核心实现思路和典型应用场景,如代理模式的远程/虚拟/安全代理等变体。这些模式为解决特定设计问题提供了标准化解决方案。

2025-10-18 15:58:52 871

原创 Spring与SpringBoot

spring会在invokeBeanFactoryPostProccess通过内置的BeanFactoryPostProccess创建cglib动态代理,在调用时,会通过cglib进行增强,通过调用 类名/方法名 作为Bean的名称从容器中获取,进而保证了单例。默认单例,只会实例化一次,如果在类中声明了成员变量,在并发下,会产生线程不安全,但是将成员变量声明到方法中(无状态),单例Bean就是线程安全的。通过IOC容器,将不同对象之间的依赖关系通过spring管理,减少了对象之间的过度耦合,方便维护对象。

2025-10-18 15:58:20 562

原创 Redis面试八股

Redis 数据管理与集群架构摘要: 数据管理: 采用定期+惰性双删除策略清理过期数据 支持多种淘汰策略(LRU/LFU/FIFO等) Redisson分布式锁通过SETNX+Lua脚本实现,含看门狗续期和红锁机制 集群架构: 主从复制支持全量/增量同步 哨兵模式解决高可用问题,但存在脑裂风险 分片集群实现数据水平拆分 典型问题: 缓存击穿(热点Key失效) 雪崩(批量缓存失效) 穿透(恶意查询不存在数据) 通过布隆过滤器、随机过期时间等方案防护 持久化: RDB快照性能优但可能丢数据 AOF日志更安全但文

2025-10-18 15:56:48 741

原创 Redis基础

本文介绍了Redis的基本使用和核心特性。主要内容包括:Redis的安装配置、常用命令如keys、exists、type等操作;5种主要数据类型(String、List、Hash、Set、Zset)的详细命令和使用场景;以及两种持久化机制RDB和AOF的对比。RDB通过定时快照保存数据,适合大规模恢复但对完整性要求不高;AOF记录所有操作命令,数据更安全但恢复较慢。文章还提供了各数据类型的典型命令示例和实际应用建议。

2025-10-18 15:56:17 787

原创 Mysql

MySQL性能优化与事务机制摘要 本文系统介绍了MySQL性能优化与事务机制的核心知识点。在性能优化方面,详细讲解了慢查询定位方法(慢日志、EXPLAIN分析)、索引原理(B+树结构、聚簇/非聚簇索引)及优化策略(覆盖索引、创建原则、失效场景)。同时提供了SQL语句优化、表设计优化等实用建议。在事务机制部分,深入解析了ACID特性、并发问题(脏读/不可重复读/幻读)及隔离级别实现,重点剖析了redo log和undo log的工作原理。此外还介绍了MVCC实现原理(ReadView机制)以及主从同步、分库分

2025-10-18 15:55:38 1033

原创 git命令——基础

本文介绍了Git常用命令及操作流程,主要包括:克隆远程仓库到本地(clone)、检出分支(checkout)、代码提交(add/commit)等基本操作;远程仓库同步(fetch/pull/push)方法;状态查看(status/diff/log)和版本切换(reset/reflog)技巧;分支管理(branch/checkout/merge)及删除(-d/-D)操作。重点说明了代码从工作区到远程仓库的完整流转过程,以及解决冲突、查看变更记录等实用功能,为开发者提供了Git版本控制的系统使用指南。

2025-10-18 15:54:17 170

原创 OpenFegin快速使用

新建一个配置类,定义Feign的日志级别:@Bean。

2025-03-30 21:02:05 690

原创 元音辅音字符串计数 I

元音辅音字符串计数 I

2025-03-13 20:49:18 252

原创 Rabbitmq--延迟消息

发送到交换机的延迟消息数越多,RabbitMQ 需要维护的时钟就越多,对 CPU 的占用率就越高(Spring 提供的定时任务的原理也是类似)定时任务属于 CPU 密集型任务,中间涉及到的计算过程对 CPU 来说压力是很大的,所以说,采用延迟消息会给服务器的 CPU 带来更大的压力。该插件的原理是设计了一种支持延迟消息功能的交换机,当消息投递到交换机后,可以将消息暂存一段时间,时间到了之后再将消息投递到队列中。我们定义一个实体类,用于记录延迟消息的内容和延迟消息的延迟时间列表(该实体类也是延迟消息的类型)

2025-03-10 21:59:35 1683

原创 RabbitMq--消息可靠性

当消费者出现异常后,消息会不断重新入队,重新发送给消费者,然后再次发生异常,再次 requeue(重新入队),陷入 无限循环,给 RabbitMQ 带来不必要的压力。**MQ 阻塞:**当队列的空间被消息占满了之后,RabbitMQ 会先把老旧的信息存到磁盘,为新消息腾出空间,在这个过程中,整个 MQ 是被阻塞的,也就是说,消息投递到了 MQ,但是路由失败(业务原因),此时会通过 PublisherReturn 机制返回路由异常的原因,然后返回 ACK,告知生产者消息投递成功。manual:手动模式。

2025-03-10 21:58:30 1500

原创 RabbitMq

采用 JSON 序列化代替默认的 JDK 序列化——引入 jackson 依赖(在项目的父工程中引入)接着在 consumer 服务和 publisher 服务中配置 MessageConverter@Bean再次发送对象类型的消息,可以看到消息已经成功转换成 JSON 类型的字符串。

2025-03-10 21:57:24 1017

原创 MyBatisPlus

Wrapper : 条件构造抽象类,最顶端父类AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件QueryWrapper : 查询条件封装UpdateWrapper : Update 条件封装AbstractLambdaWrapper : 使用Lambda 语法LambdaQueryWrapper :用于Lambda语法使用的查询WrapperLambdaUpdateWrapper : Lambda 更新封装Wrapper。

2025-03-08 21:41:25 871

原创 Redis集群

而一致性Hash算法是对232取模,简单来说,一致性Hash算法将整个哈希值空间组织成一个虚拟的圆环,如假设某哈希函数H的值空间为0-232-1(即哈希值是一个32位无符号整形),整个哈希环如下图:整个空间按顺时针方向组织,圆环的正上方的点代表0,0点右侧的第一个点代表1,以此类推,2、3、4、……集群节点越多,心跳包的消息体内携带的数据越多。解决均匀分配的问题,在数据和节点之间又加入了一层,把这层称为哈希槽(slot),用于管理数据和节点之间的关系,现在就相当于节点上放的是槽,槽里放的是数据。

2025-03-06 21:25:27 767

原创 ## Redis复制--主从复制--哨兵

由于所有的写操作都是先在Master上操作,然后同步更新到Slave上,所以从Master同步到Slave机器有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,Slave机器数量的增加也会使这个问题更加严重。上一个slave可以是下一个slave的master,slave同样可以接收其他slaves的连接和同步请求,那么该slave作为了链条中下一个的master,可以有效减轻主master的写压力。master只会把已经复制的offset后面的数据赋值给slave,类似断电续传。

2025-03-06 21:22:17 1116

原创 Redis事务-管道

此期间别人有没有去更新这个数据,提交版本必须 大于 记录当前版本才能执行更新。

2025-03-06 21:12:33 682

原创 Redis 持久化 - AOF、RDB

如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。在存储快照后,还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能。redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中。appendonly no # 默认是不开启aof模式的,默认是使用rdb方式持久化的,在大部分所有的情况下,

2025-03-06 21:07:51 681

原创 redis安装配置及redis数据类型

不同之处是有序集合的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。你可以添加一个元素到列表的头部(左边)或者尾部(右边) 它的底层实际是个双向链表,对两端的操作性能很高,通过索引下标的操作中间的节点性能会较差。String类型是二进制安全的。decr key 将 key 中储存的数字值减1,只能对数字值操作,如果为空,新增值为-1。incr key 将 key 中储存的数字值增1,只能对数字值操作,如果为空,新增值为1。

2025-03-06 21:04:40 669

原创 LInux开放防火墙端口

firewalld是大多数现代 Linux 发行版(如 CentOS、RHEL、Fedora)默认的防火墙管理工具。

2025-03-02 19:55:22 446

原创 Docker 安装

简而言之,Docker 是一个可供开发者通过容器(container)来构建,运行和共享应用(application)的平台。用容器来部署应用被称为集装箱化。

2025-03-02 18:49:54 175

原创 linux

su -root 切换root用户sudo systemctl stop firewalld关闭防火墙vim /etc/sudoers 打开文件chmod u+w /etc/sudoers给只读文件添加可以写入 chmod u-w /etc/sudoers取消可以写入reboot 重启;systemctl start /enable 服务名 开始/开机自启 服务yml install -y 服务名 安装 …

2025-03-02 14:19:54 727

原创 CentOS7中yum 报错:Could not retrieve mirrorlist http://mirrorlist.centos.org

CentOS7中yum 报错:Could not retrieve mirrorlist http://mirrorlist.centos.org

2025-03-01 20:41:19 1257 1

原创 排序之拓扑排序

图,有向图,且有入度为0的节点,没有环。

2024-09-13 17:43:34 167

原创 排序 之 快速排序

定一个值,通过一趟排序将要排序的数据不断地分割成独立的两部分,其中一部分的所有数据都比这个值小,另外一部分的所有数据都要比这个值大,整个排序过程可以递归进行(不断在每段已分好的块中重复这个步骤,指导有序),以此达到整个数据变成有序序列。快速排序算法通过多次比较和交换来实现排序,其排序流程如下:1、首先设定一个分界值,通过该分界值将数组分成左右两部分。2、将大于或等于分界值的数据集中到数组右边,小于分界值的数据集中到数组的左边。

2024-09-12 22:08:54 298

原创 DOCKER 的 命令 及使用

启动docker。

2024-04-08 20:27:00 531

原创 redis 学习

【代码】Docker 下载 redis。

2024-04-08 19:53:22 1284

原创 力扣.1976.到达目的地的方安数

每当走到一个新的结点时,判断 当前节点到新节点的距离 与 初始节点到当前节点的最短距离之和是否小于等于 已记录的初始节点到新节点 的最短距离,判断是否需要更改;1.相等时:初始节点到新节点最短路径数量更新为 记录的初始节点到新节点 的路径条数 加上 初始节点到当前节点的最短距离路径条数;根据dis算法,我们先求以 起始节点到每个节点的最短距离 为基准,建立辅助数组来统计到这个节点的最短距离的路径条数;2.小于: 初始节点到新节点最短路径数量更新为 初始节点到当前节点的最短距离路径条数;

2024-03-10 18:43:17 256 1

原创 归并排序 merge sort

归并排序(Merge Sort)是一种基于分治思想的排序算法,它将待排序的数组分成两部分,分别对这两部分递归地进行排序,最后将两个有序子数组合并成一个有序数组。它的时间复杂度为 O(nlogn)。归并排序的基本思路是将待排序的数组分成两个部分,分别对这两部分进行排序,然后将排好序的两部分合并成一个有序数组。这个过程可以用递归来实现。具体的实现步骤如下:1.分解:将待排序的数组不断分成两个子数组,直到每个子数组只有一个元素为止。

2024-03-07 19:32:54 449

原创 LinuxCentOs7下安装MySQL8.0.26

安装包解压后,将路径切换指MySQL下。

2023-12-25 19:46:51 878 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除