04 2025 档案
摘要:1.纯内存操作 Redis将数据存储在内存中,读写操作完全基于内存,避免了磁盘I/O的延迟。内存的访问速度(纳秒级)比磁盘(毫秒级)快多个数量级,这是Redis高效的基础。 2.单线程操作 避免锁竞争与上下文切换 单线程无需处理多线程的锁竞争问题,减少了线程切换和同步的开销。 虽然无法利用多核CPU
阅读全文
摘要:首先是结论: Redis中的哨兵(Sentinel)和设计模式中的哨兵模式(Sentinel Pattern)虽然名称相似,但本质上是完全不同的概念,解决的问题和场景也截然不同。 哨兵: 功能: 监控:持续检查主节点和从节点的健康状态 自动故障转移:当主节点宕机时,Sentinel会自动选举一个从节
阅读全文
摘要:概念 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,允许你将多个对象连接成一条链,请求沿着这条链传递,直到有对象处理它为止。这种模式解耦了请求的发送者和接收者,使得多个对象都有机会处理请求。 应用场景 多级请求处理 审批系统(员工→经理→总监→CE
阅读全文
摘要:如:cloneable 问:为什么该接口无任务内容,那为什么在克隆的时候还是要实现这个接口 起到了标记作用,通过实现这个接口告知JVM,这个对象是可以克隆的 这类无任务内容的接口统称为:标记型接口
阅读全文
摘要:ArrayList: 基于动态数组实现,内存中是连续存储的。 支持快速随机访问(通过索引直接定位元素)。 默认初始容量为10,扩容时容量增长为原来的1.5倍(例如:10 → 15 → 22 → ...)。 LinkedList: 基于双向链表实现,元素分散在内存中,每个节点包含前驱和后继指针。 插入
阅读全文
摘要:peek方法是一个中间操作,它的主要用途是观察流中的元素,同时支持对流元素进行调试或执行无副作用的操作 1.调试和日志记录 用于调试时查看流程里过程中某个阶段的元素状态,而无需修改流的内容。 2.观察中间操作的结果 由于流是惰性求值的(lazy),只有终止操作(如 collect、forEach)被
阅读全文
摘要:概念 覆盖索引是一种数据库优化技术,指查询所需的字段全部包含在某个索引中,使得数据库引擎无需访问实际的数据行(即“回表”),仅通过索引即可完成查询。它通过减少磁盘I/O和提升数据检索效率来优化性能。 核心原理 索引结构:数据库索引通常采用B+树结构,叶子节点存储索引字段的值和指向数据行的指针(如主键
阅读全文
摘要:在Java中,两者都是用于处理可变字符串的类,它们的主要目的实在频繁修改字符串时提高性能(避免创建大量String对象) 1.共同点 可变性:两者都支持动态修改字符串内容(如追加、插入、删除)。 方法相似:两者的API几乎完全相同。常见方法如下: 1.append(String str):将指定字符
阅读全文
摘要:1.全文搜索 用于对文本字段进行分词后的模糊匹配,支持相关性评分 match查询:对文本进行分词后搜索,默认使用OR,支持AND、minimum_should_match等参数。 minimum_should_match解析: 是 Elasticsearch 中一个用于控制查询条件的参数,主要作用于
阅读全文
摘要:FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT/OFFSET FROM 作用:确定数据来源的表。 示例:FROM users 表示从 users 表读取数据。 WHERE 作用:过滤符合条件
阅读全文
摘要:public List<Orders> queryOverTimePayOrdersListByCount(Integer count) { return this.lambdaQuery() // 未支付 .eq(Orders::getOrdersStatus, OrderStatusEnum.N
阅读全文
摘要:RabbitMQ 作为一款成熟的消息队列(Message Queue)中间件,在项目中广泛应用于解耦、异步处理、流量削峰等场景。 懒惰队列 RabbitMQ 中的 懒惰队列(Lazy Queue) 是一种特殊类型的队列,它的设计目标是 优化内存使用 懒惰队列的核心作用: 减少内存占用 默认情况下,R
阅读全文
摘要:1.添加依赖 在项目的pom.xml 中添加Spring Cloud OpenFeign依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</a
阅读全文
摘要:在网页页面F12后,网络配置中的Status一直显示如下图的待处理,在10s后变为请求超时 原因如下: 在重新更换配置后重启项目后,在原有的配置中仍有前面项目请求的缓存,更换配置后请求无法发送至后端处理,在清楚缓存后即可成功显示(若在本来的浏览器中使用无痕模式,仍无法成功显示,最好的方式是更换一个浏
阅读全文
浙公网安备 33010602011771号