自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis-集群与分区

由于集群将数据分散在多个节点(通过槽位Slot管理),客户端需要通过特定逻辑找到键所在的目标节点,才能完成读写操作。Redis Cluster将所有数据划分为16384个槽位(Slot),每个节点负责一部分槽位(如节点A负责0-5460槽,节点B负责5461-10922槽等)。迁移过程中,若客户端请求的键所在槽位正处于迁移状态(部分数据在源节点,部分在目标节点),则源节点返回。集群与分区技术通过数据分散存储,解决了Redis单节点的性能和存储瓶颈,是Redis支持大规模应用的核心手段。

2025-07-18 15:14:22 900

原创 Redis-哨兵模式

哨兵模式通过“监控-检测-选举-转移”的全流程自动化,解决了Redis主节点故障后的服务恢复问题,是中小型Redis集群实现高可用的首选方案。其核心在于通过多哨兵的“共识机制”避免误判,通过Raft-like选举保证决策权威,通过精细化的新主选择规则保证数据一致性,最终实现Redis服务的“少中断、高可用”。

2025-07-17 17:48:54 753

原创 Redis-主从复制

Redis主从复制摘要 Redis通过replicaof命令实现主从数据同步,支持一主一从、一主多从及层级复制结构。主节点可写,从节点只读,需配合哨兵实现故障切换。配置时从节点需指定主节点IP和端口。核心价值包括读写分离提升性能、数据容灾备份,但存在同步延迟问题。同步机制分为全量(首次连接)和增量(断线重连)同步,通过PSYNC命令实现。心跳检测机制维护连接状态并补发丢失命令。局限性在于主节点故障需手动切换,且强一致性无法保证。(149字)

2025-07-17 13:47:23 682

原创 Redis持久化

文件写入与保存”是AOF持久化流程的最后阶段,负责将缓存中的命令最终落盘(写入磁盘文件),其核心是通过。AOF 程序将命令转换为 Redis 协议文本(RESP 格式),追加到服务器的。中的内容写入 AOF 文件,并根据配置的“保存模式”决定是否同步到磁盘(通过。服务器执行完客户端的写命令后,将命令参数、格式等信息发送给 AOF 程序。两个步骤,结合配置的“保存模式”平衡性能与数据安全性。,来平衡性能(减少阻塞)和数据安全性(减少丢失)。缓存中的Redis协议文本(命令)写入操作系统的。

2025-07-16 11:56:15 1027

原创 Dubbo-路由规则

路由规则通过动态配置实现请求的精准分发,是Dubbo服务治理的重要手段。结合注册中心的实时通知机制,可灵活应对流量管理、灰度发布、故障处理等场景,提升系统的稳定性和可扩展性。

2025-07-12 16:26:35 686

原创 Dubbo-SPI

定义:SPI(Service Provider Interface)是JDK内置的服务提供发现机制,用于动态替换和发现服务实现,实现模块解耦,使第三方服务装配逻辑与调用者业务代码分离。应用:被众多框架用于扩展点设计,如Dubbo中大量使用SPI实现协议、负载均衡等功能的定制化扩展。

2025-07-11 17:45:57 230

原创 Spring源码-单例Bean的加载

先来看一下整体顺序图fill:#333;从上图可以知道,主要是在AbstractBeanFactory.doGetBean() 进行bean的加载,我们接着往下看fill:#333;1.如果是 BeanFactory, 去除名字前的"&"。根据别名获取实际beanName2.单例bean在Spring容器中只会被创建一次后续都是会先尝试从缓存中获取4.如果当前容器不存在某个bean定义,则尝试从父容器中获取5.获取并加载当前bean依赖的bean6.创建单例bean。

2025-07-01 18:36:04 515

原创 Spring源码-BeanFactoryPostProcess

Spring提供BeanFactory后置处理器,让我们能够在XML加载完成后对配置信息再次进行修改。我们先通过一个例子看看BeaFactoryPostProcess的使用方式。User有一个password字段,我们希望在配置文件中配置password时通过密文的方式配置并且在使用User时,getPassword()返回的是明文创建一个User类@Override'}';实现BeanFactoryPostProcess。

2025-06-26 10:25:08 636

原创 Spring源码-XML配置

Spring容器初始化的所有步骤都在该方法中,如XML配置文件的加载、后置处理器的注册和执行、Bean对象的初始化及注册到容器中等。将beanName作为key, BeanDefinition作为value,保存到 BeanDefinitionRegistry.beanDefinitionMap 中。当Spring配置文件存在自定义属性时能会根据命名空间正确找到对应的 Handler 类, 进而找到 BeanDefinitionParse 将自定义配置解析并注册到容器中。通过alias注册bean。

2025-06-21 15:32:21 919

原创 理解queals()和hashCode()

理解hashCode()和queals(),并且实现简单的自定义HashMap

2024-07-27 16:17:54 971

原创 OnJava基础卷学习笔记

纯替换关系:子类应该只重写基类已有的方法,而不创建新的方法。这种情况下,子类和基类的类型完全相同。可以用子类对象替换基类对象。子类和父类的关系叫做“is-a”关系。这是一种理想的继承方式。有时候,需要为子类添加新的方法,从而扩展原有的接口,这种情况下,子类也能替换父类,但是并不完美,不能通过基类接口获取子类的新方法,所以用子类替换基类后,子类的新方法并不能起到任何作用。这种关系描述为“is-like-a”关系。

2024-07-20 18:26:08 1328

原创 OnJava进阶卷学习笔记

在JDK14时新增了这个新特性,使用这个新特性,不需要再每个case后都写一个break来防止case一直往下走。

2024-07-20 16:30:10 1047

原创 @Lookup注解用法

概述 @Lookup用于单例组件引用prototype组件。单例组件使用@Autowired方式注入prototype组件时,被引入prototype组件也会变成单例的。@Lookup可以保证被引入的组件保持prototype模式。 使用@Autowired注入 创建一个配置类指定包扫描路径 package com.hl.config;import com.hl.bean.Car;import org.springframework.context.annotatio..

2022-03-14 14:53:34 6346 6

原创 java使用poi给excel文件插入数据

package com.example.demo;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.LinkedHashMap;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermod.

2021-10-15 16:59:36 2025

原创 解析json字符串,替换字符串里存在的特殊字符

import java.util.ArrayList;import java.util.HashMap;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.apache.commons.lang3.StringUtils;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONA..

2021-09-24 09:49:16 1745

原创 设计模式笔记

一、面向对象设计七大原则 在学习设计模式之前,需先学习面向对象设计的七大原则,这样更有助于对设计模式的了解。开闭原则:对扩展开放,对修改关闭。 依赖倒置原则:高层模块不应该依赖于底层模块,应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。也就是说要面向接口编程,不应该面向实现编程。它是实现开闭原则的一种手段。 里氏替换原则:父类出现的地方都可以用子类进行代替。 单一职责原则:一个类应该只包含单一的职责。 接口隔离原则:类应该完全依赖相应的专门的接口。 合成无用原则:应该尽量使用对象组合.

2021-07-09 12:07:48 240 1

原创 springboot整合mybatis多数据源配置

一、根据不用包区分数据源

2021-06-09 12:16:04 355 1

原创 java基础重点总结

1.JDK和JRE JRE(Java Runtime Environment):是Java程序的运行环境,包含JVM和运行时所需要的核心类库。 JDK:

2021-06-08 20:58:52 268

原创 springboot整合quartz

一、pox.xml<!--quartz 任务定时器 start--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-quartz</artifactId></dependency><!--quartz 任务定时器 end-->...

2021-06-08 16:40:29 461

原创 springcloud入门案例

一、Eureka Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址 提供者:启动后向Eureka注册自己信息(地址,提供什么服务) 消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新 心跳(续约):提供者定期通过http方式向Eureka刷新自己的状态 ...

2021-06-06 18:17:26 143

空空如也

空空如也

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

TA关注的人

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