- 博客(74)
- 收藏
- 关注
原创 LeetCodeHot100_0x06
LeetCodeHot100_0x06 刷题情况 【39-48】二叉树专题,包含二叉树层序遍历、二叉搜索树、二叉树直径、构造二叉树等经典高频面试题
2025-03-11 15:50:55
907
原创 Spring如何解决循环依赖问题?
首先需要说明的是,Spring只是解决了单例模式下属性依赖的循环问题,接下来的讨论也是针对单例Bean进行分析的。】:依赖三级缓存机制第零级:用来存储正在创建过程中的对象第一级的单例对象池存储的是当前bean是否已经创建好并放入单例池中,如果已经有了,就可以直接从第一层中取出来使用即可。第二级临时代理对象池是由于在创建Bean生命周期中,如果需要自动注入其他对象,则需要获取其代理对象,第二层临时代理对象池如果也没有找到,则可以断定发生了循环依赖。
2025-01-05 09:44:47
702
原创 消息队列系列一:RabbitMQ入门讲解
本文为消息队列——rabbitMQ的入门篇。主要介绍了消息队列的产品、选型;分析了消息队列调用的业务场景。介绍消息队列场景的队列模式以及在RabbitMQ中最常使用的几种模式;通过各个小实验,实现了javaBean创建队列、基于注解创建队列等步骤。与此同时还实现了自定义消息转换器,提高消息可读性,压缩消息体积。
2024-11-10 21:51:45
827
1
原创 微服务系列六:分布式事务与seata
本篇文章是为了记录分布式事务、解决分布式事务问题的。阅读这篇文章,你将了解事务管理中几种角色之间的相互协作,以及利用Seata中的XA和AT策略解决分布式事务存在的数据不一致问题。
2024-11-07 13:18:04
1511
原创 微服务系列五:避免雪崩问题的限流、隔离、熔断措施
微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。本篇文章将从现象到分析到解决+实验+jmeter测试,全方位让你理解微服务雪崩及其解决策略。我们将使用sentinel流控工具,使用请求限流、线程隔离、fallback优化、服务熔断等策略进行微服务雪崩问题的预防。
2024-11-06 21:42:14
1037
原创 微服务系列四:热更新措施与配置共享
本文主要是补充微服务开发中常用的配置更新策略。为了降低维护成本,减少重复配置文件的书写、做到配置文件的不停机更新、做到网关路由的动态更新。我们引入了Nacos1的配置中心。通过配置中心使得配置文件得到了统一的管理,同时配置中心提供热更新的强大功能也使得微服务的运维变得更加可维护
2024-11-04 22:34:06
1298
1
原创 微服务系列三:微服务核心——网关路由
微服务网关是处理客户端请求的入口,它负责转发请求到相应的微服务,并处理一系列的安全和性能问题。网关可以作为一个黑盒,隐藏内部微服务的复杂性。它还可以作为拦截器,对请求进行预处理和后处理。在微服务架构中,网关扮演着重要的角色。通过自定义过滤器,我们可以对请求进行校验,如登录校验,并通过网关传递用户标识信息。OpenFeign等微服务调用框架也可以与网关结合,实现用户标识信息的传递。
2024-11-03 23:07:02
1348
原创 微服务系列二:跨微服务请求优化,注册中心+OpenFeign
跨微服务的优化问题使用 Nacos作为注册中心使用OpenFeign优化请求发送拆解api模块实现代码复用
2024-11-01 22:36:44
1122
1
原创 微服务系列一:基础拆分实践
微服务的基础入门篇,读完本文让你对微服务有一个基本的了解,与此同时通过两个微服务的模块拆分实验,发现微服务拆分面临的难题。并尝试去解决它。
2024-11-01 09:05:58
1409
1
原创 Docker部署学习
这篇文章是学习项目部署的必备文章啦,我会从1. Docker实验环境的准备2. Docker基础命令的详细讲解3. Docker数据卷双向绑定功能讲解4. Docker自定义你的镜像5. Docker容器网络访问相关6. Docker项目部署实践等6个方面详细展示在生产环节中Docker的使用。帮助你在最短的时间内完成理论 + 实践 + 巩固的学习
2024-10-30 14:03:30
1555
2
原创 若依部署上线遇到的问题
解决若依部署上线遇到的问题:一、若依部署上线的用户头像模块不能回显:二、若依部署上线后验证码不显示问题,三、若依部署上线遇到404页面刷新问题,四、若依部署本地前端请求服务器后端没问题,部署上线请求后端出现405报错。或者发送请求显示无权限、爆拦截器异常
2024-10-27 10:10:06
1628
原创 前后端请求一致性学习
本文讲解了常用的四大请求方式 于 三大请求注解的使用:GET请求用于获取数据,参数在URL上;POST请求发送数据,常用JSON格式,通过@RequestBody接收。PUT请求更新资源,也使用@RequestBody。DELETE请求删除资源,通过@PathVariable或@RequestParam接收ID。PATCH请求用于部分更新,可接收JSON或表单数据。@PathVariable用于URL路径参数,@RequestParam用于URL或表单参数,@RequestBody用于请求体。
2024-10-16 18:24:32
1400
原创 用最短时间,实现Vue3快速上手开发(全文2万字)
vue3快速入门,了解vue3语法新特性,这里有setup语法糖、组合式api、响应式数据构建、监视函数的使用、vue3路由组件、pinia集中状态管理工具的使用、vue3的组件通信、插槽的使用、
2024-09-27 16:36:41
1423
原创 整整3W字笔记,Redis最核心的秒杀业务、分布式锁、消息队列相关原理一篇文章就搞定(黑马点评项目)
本文为 黑马点评项目的第四部分——秒杀优惠卷系列功能实现,在本文中,你能学到:1. 全局ID生成器的应用场景及原理实现2. 理解原理并解决秒杀业务中出现的超卖问题、一人一单问题。3. 理解原理并分析 分布式锁的特点,使用分布式锁优化秒杀业务,提高系统可靠性4. 熟练使用 Redisson锁工具包5. 了解Redis中提供的消息队列模型实现原理,并使用消息模型实现异步秒杀功能
2024-09-19 12:35:41
2363
原创 (黑马点评)三、Redis最精华的缓存知识讲解,结合相关业务、压力测试,带你认识最全面的缓存知识,掌握各样的解决措施,提高系统业务响应速度
本文包含了大量的Redis缓存知识。包括前期的建立缓存知识、进行缓存的初尝试、认识五种数据结构及其相关业务场景下的选择、了解并解决数据一致性问题、掌握最佳缓存策略的选择理由、了解和解决缓存穿透、缓存雪崩、缓存击穿带来的影响、形成原因、解决措施、解决措施的比较等。最后,将本文的经验凝聚成Redis的分装工具上。
2024-09-19 07:56:21
1452
原创 (黑马点评)七、附近商户系列功能实现
黑马点评 附近商户部分使用Redis 的 GEO数据结构的相关指令实现了 计算商店距离的功能,并根据距离进行分页查询展示
2024-09-18 23:16:50
1067
原创 【大众探店】已解决java.lang.NullPointerException异常
以前在遇到bug时,我总喜欢做的事是将别人写的代码复制回来。但是随着学习的深入发现,其实调代码是一件正常不过的事情,为此,锻炼自己发现问题、定位问题、解决问题能力十分重要,不断地刨根问底,才能愈发印象深刻。
2024-09-17 11:05:37
2818
2
原创 (Redis学习Day3)8.5W字,带你完成Redis企业级实战练习——《大众探店》项目工程开发
学习Redis的过程,我们还将遇到各种实际问题,例如缓存穿透、雪崩、击穿等问题,只有在实际的项目实践中解决这些问题,才能更好的掌握和理解Redis的企业开发思维。
2024-09-10 23:33:38
1670
原创 【苍穹】完美解决由于nginx更换端口号导致无法使用Websocket
应该还记得刚开苍穹的第一天配置前端环境时,会发现ngnix启动不了吧?排查原因后,发现是默认的80端口被系统进程占用了,你为了方便后续的测试,将ngnix的默认端口改成了8888。与此同时,苍穹的前端环境几乎是固定死了的,也就是有一些配置方面的东西,还是按照着80端口来的,这样一来,Websocket自然是连接不上的。这里就涉及到之前的坑,现在需要填上了。还是报错,考虑浏览器缓存(可以清除浏览器缓存),开一个。所有就衍生出下面两种解决方法。重启ngnix服务器。
2024-07-26 15:26:30
1150
3
原创 【找不到视图问题解决】@RestController 与 @Controller注解的使用区别
@RestController 与 @Controller注解的使用区别
2024-07-12 22:15:20
1223
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人