自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 循环依赖的解决方法

创建A【要注入B】 ---> A实例化,没有初始化 ---> 从容器中获取并注入B ---> 初始化B【实例化B,注入A】 ---> 从三级缓存中获取创建A的工厂,获取到A的半成品对象,放入到二级缓存中,删除三级缓存中的创建A的工厂【得到一个半成品A】 ---> 于是B就初始化完成了,把B从二级缓存中移动到一级缓存中,B就完成了初始化,是一个完整的bean ---> 继续完成A的初始化,从一级缓存中获取注到B,注入A,把A从二级缓存中移动到一级缓存中,A就完成了初始化。

2025-09-23 00:43:52 237

原创 REDIS缓存的常见问题

是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由 于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数 据库压力瞬间增大,造成过大压力。和缓存雪崩不同的是,缓存击穿指并发查同 一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。2.从缓存取不到的数据,在数据库中也没有取到,这时也可以将 key-value 对写为 key-null,缓存有效时间可以设置短点,如 30 秒(设置太长会导 致正常情况也没法使用)。3.将数据库中的数据写入缓存,然后返回响应。

2025-09-20 01:25:06 412

原创 云岚到家项目描述

面试官你好,下面我来介绍一下最近参与的一个叫云岚到家的项目,首先项目概述:云岚到家项目是一个家政服务O2O平台,提供在线下单、抢单、派单、上门服务等业务,平台包括四个端:用户端(小程序)、服务端(app)、机构端、运营端,采用前后端分离开发模式,服务端包括订单、派单、抢单、支付、优惠券、秒杀等微服务,项目使用了MySQL、Redis、MQ、ES、等中间件。其次项目的一个核心业务就是1.平台在指定区域上架对应的服务;2.服务人员和机构可以抢单;3.服务人员上门服务;4.服务完成,让用户签字;

2025-09-16 01:04:09 223

原创 Canal+MQ数据同步的方案

然后消费者从MQ里取出这些变化消息,然后想干嘛干嘛:比如同步到Elasticsearch生成搜索索引、更新Redis缓存、或者记录日志等等。像个安插在MySQL内部的“间谍”,它实时监听数据库的所有增删改操作(记在binlog里),然后把任何变化都准确无误地抄录下来。就是个“中转快递站”。Canal把变化消息打包扔到MQ里就完事儿,不关心后面谁处理、处理得快慢,实现了。业务代码无侵入,不影响主数据库性能,还能保证数据同步的实时性和可靠性(靠MQ的堆积能力)。

2025-09-15 00:47:27 194

原创 RabbitMQ面试题

然后再临时增加消费者程序节点,以倍速的形式去消费积压的消息,当积压的消息被处理的差不多的时候,再把增加的节点下线。1.概念:如果这个包含死信的队列配置了 dead-letter-exchange 属性,指定了一个交换机,那么队列中的死信就会投递到这个交换机中,而这个交换机称为 死信交换机 (Dead Letter Exchange,检查DLX)。(1)死信队列+TTL:由于队列的原因,会先消费队首的消息,如果后续的消息消费的时间比队首的要早,会导致消费无法消费。3.消息消费完后,不会删除,保留历史消息。

2025-09-09 20:58:44 618

原创 java面试题

父类与子类之间多态性的一种表现,重载 Overloading 是一个类中多态性的一种表现。在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。的 hash 值,因此,可能会被集合认为是相等的。类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则。的时候也会用到这两个方法。所以这两个方法的实现对 HashMap 的精确性和正确性是至关重要的。

2025-08-22 23:08:06 251

原创 对百度千帆大模型的认识

给 AI 定义一个最匹配任务的角色,比如:「你是一位软件工程师」「你是一位小学师」:输出的格式描述,以便后继模块自动解析模型的输出结果,比如(JSON、Java):必要时给出举例,[实践证明例子对输出正确性有帮助]:给出与任务相关的其它背景信息(尤其在多轮交互中)在提示词中明确的标识出输入。

2025-08-16 21:21:19 280

原创 Docker命令、Git命令

1.docker push------推送镜像到DockerReqistry2.docker images ------查看本地镜像3.docker rmi ------删除本地镜像4.docker run ------创建并运行容器5.docker stop------停止指定容器6.docker start-----启动指定容器7.docker resetart-----重新启动容器8.docker rm-----删除指定容器9.docker ps -----查看容器。

2025-08-01 20:47:06 292

原创 Linux命令和Docker命令

(1):ip addr-查看Ip(2):pwd---查看当前所在目录(3):shutdown---关机(4):reboot----重启(5):ping ip----查看网络是否ok(6):ctrl+c-----强制结束占用窗口的命令(7):top:查看内存情况(8):ps-ef | greap -i进程名字----查看进程运行信息(9):clear----清屏(10):history----查看历史命令。

2025-07-31 20:56:08 819

原创 dependencyManagement和dependencies的区别

到当前模块声明的依赖会实际被下载并加入classpath会传递给依赖此模块的其他项目(依赖传递性)必须显示指定版本号(除非从父级继承示例:-- 必须指定版本 -->

2025-07-21 21:08:02 999

原创 Spring-boot讲解

场景:在实际开发中,经常会定义一些公共组件,提供给各个项目团队使用。而在SpringBoot的项目中,一般会将这些公共组件封装为SpringBoot 的 starter(包含了起步依赖和自动配置的功能)。需求:自定义aliyun-oss-spring-boot-starter,完成阿里云OSS操作工具类 AliyunOSSUtils 的自动配置。目标:引入起步依赖引入之后,要想使用阿里云OSS,注入 AliyunOSSUtils直接使用即可。

2025-07-20 20:50:20 805

原创 关于JWT,过滤器。拦截器的讲解

组成结构;1:头(Header):算法,类型2.载荷(Pavload):存放个人非敏感数据和内置数据(如用户Id,过期时间)3.签名(Singnature)Base(头,载荷,密钥),对比前俩部分的签名,防止数据篡改。注意:密钥不能暴露,否则就不安全了。实现流程:1.用户登录成功后,服务器生成JWT并返回给客户端。2.客户端将JWT存储在本地(cookie),并在后续请求中通过Authorization头部携带。

2025-07-17 20:38:43 232

原创 前后端联调过程

2.前后端共同确认字段命名规范(驼峰/下划线),数据格式(时间戳/ios格式)1.使用Chrome开发者工具查看查看Network请求详情。1.编写Api文档,明确请求方式,url,参数,返回值格式。1.后端使用Bean Validation进行参数校验。2.后端未完成时,前端通过Mock模拟数据响应。确保开发环境,测试环境,预发布环境的配置一致性。2.前端使用axios拦截器统一处理错误响应。1.前端使用Apifox测试接口可用性。2.后端开启日志记录。

2025-07-16 16:52:54 133

原创 注解的解释

override:标记方法覆盖父类方法,编译器会验证覆盖的正确性。@Deprecated:标记已过时的类或方法,编译器会提示警告。@Transactional:事务管理注解,默认对运行时异常回滚。@value:Spring属性注入注解,从配置文件读取值。适用于动态配置注入@Autowired:Spring依赖注入注解,按照类型自动装配Bean@Slf4j:Lombok注解,自动生成日志对象@Data Lmbok注解,自动生成建造者模式代码。

2025-07-16 16:36:00 122

原创 写项目遇到的bug

2025-07-09 23:55:46 117

空空如也

空空如也

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

TA关注的人

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