自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring OAuth2 认证流程

在微服务架构中集成后,整个系统会形成三个核心角色:认证服务器提供认证和授权服务,颁发令牌;资源服务器保护API资源,验证令牌有效性;客户端则是请求访问受保护资源的应用程序。认证服务器和资源服务器的角色相对明确,而客户端的选择和设计则较为复杂,需要根据实际业务场景进行选择。本文将重点探讨在微服务架构下,如何选择和设计适合的客户端实现方式。

2025-05-14 09:28:03 737

原创 参数校验的 6 大神功!

有时候,Hibernate Validator框架或者其他校验框架定义的校验不满足需求,我们需要自定义校验规则。则可以自定义注解,实现ConstraintValidator接口,来实现具体的自定义的校验逻辑。自定义注解@Contact在字段上使用。String message() default "联系方式格式错误";Class<?Class<?// 校验逻辑实现(不要相信前端的下拉框!@Override六边形战士培养计划可通过动态修改错误信息。

2025-05-13 17:31:04 799

原创 Seata 从原理到实战!

在之前的文章中,我们简单介绍了一下 Spring Cloud Alibaba 的技术体系中的NacosDubbo和Sentinel组件应用,通过这几款组件基本可以构建一个简易版的微服务框架系统。我们知道,在微服务系统中一些模块通常会以一个独立的服务来开发和部署,比如用户服务、订单服务、库存服务、账单服务等等。随着服务拆分的越来越细,微服务的数量也会随之增长,系统的复杂度也会变得很高。例如,当用户选择某个商品下一笔单的时候,通常会先调用库存服务的库存扣减逻辑,如果库存充足,接着再调用订单服务的创建订单逻辑。

2025-05-13 09:07:24 323

原创 SpringBoot中的拦截器江湖

很多小伙伴在工作中遇到拦截需求就无脑写HandlerInterceptor,结果被复杂场景搞得鼻青脸肿。作为一名有多年开发经验的程序员,今天领大家到SpringBoot的山头认认6把交椅:这篇文章以梁山为背景的介绍SpringBoot中的拦截器,可能更通俗易懂。

2025-05-09 09:24:58 788

原创 如何实现排行榜

数据规模:数据量大小直接决定了我们选择哪种方案实时性要求:是否需要秒级更新,还是分钟级甚至小时级都可以接受并发量:系统的预期访问量是多少开发资源:团队是否有足够的技术能力维护复杂方案业务需求:排行榜的计算逻辑是否复杂对于大多数中小型应用,方案二(缓存+定时任务)或方案三(Redis有序集合)已经足够。如果业务增长迅速,可以逐步演进到方案四(分片+Redis集群)。而对于社交平台等需要实时更新的场景,则需要考虑方案五(预计算+分层缓存)或方案六(实时计算+流处理),但要做好技术储备和架构设计。

2025-05-08 18:23:10 714

原创 Cursor pro免费用了

今天圈子炸锅了,Cursor pro免费开放给学生使用一年,全网都是教用edu邮箱注册cursor账号的,某鱼的单量也是突增,今天逛帖子发现一个神乎其技,不用学生账号,不用花一分钱,我亲测可行,这里分享给大家。

2025-05-08 17:24:15 269

原创 MQ的数据一致性,如何保证?

电商系统出了个灵异事件:用户支付成功了,但订单状态死活不改成“已发货”。折腾了半天才定位到问题:订单服务的MQ消息,像人间蒸发一样消失了。这个Bug让我明白:(MQ)消息队列的数据一致性设计,绝对能排进分布式系统三大噩梦之一!今天这篇文章跟大家一起聊聊,MQ如何保证数据一致性?希望对你会有所帮助。(MQ)消息队列像金融系统的SWIFT结算网络,看似简单实则处处杀机。真正的高手不仅要会调参,更要设计出能兼容可靠性与性能的架构。记住,分布式系统的数据一致性不是银弹,而是通过层层防御达成的动态平衡。

2025-05-08 17:06:07 764

原创 如何进行限流

限流

2025-05-08 17:02:24 824

原创 Java Stream 中的 7 个常见错误

Java Stream 中的 7 个常见错误

2025-05-08 17:00:06 187

原创 理解AQS

AQS( AbstractQueuedSynchronizer )是一个用来构建锁和同步器(所谓同步,是指线程之间的通信、协作)的框架,Lock 包中的各种锁(如常见的 ReentrantLock, ReadWriteLock), concurrent 包中的各种同步器(如 CountDownLatch, Semaphore, CyclicBarrier)都是基于 AQS 来构建,所以理解 AQS 的实现原理至关重要,AQS 也是面试中区分侯选人的常见考点,我们务必要掌握。

2025-05-08 16:53:18 512

原创 if-else优化重构方案

又臭又长的if...else要如何重构。

2025-05-08 16:49:11 829

原创 9个工具库让我的Java开发效率提升了80%

9个工具库

2025-05-08 16:37:55 909

原创 通义灵码编程智能体,上线!

近期,Qwen3 正式发布并全部开源 8 款「混合推理模型」。旗舰模型 Qwen3-235B-A22B 在代码、数学、通用能力等基准测试中,与 DeepSeek-R1、o1、o3-mini、Grok-3 和 Gemini-2.5-Pro 等顶级模型相比,表现出极具竞争力的结果。,具备自主决策、环境感知、工具使用等能力,可以根据开发者的诉求,使用工程检索、文件编辑、终端等工具,端到端地完成编码任务。

2025-05-08 10:54:22 831

转载 服务端向客户端推送数据的实现方案

在日常的开发中,我们经常能碰见服务端需要主动推送给客户端数据的业务场景,比如数据大屏的实时数据,比如消息中心的未读消息,比如聊天功能等等。本文主要介绍SSE的使用场景和如何使用SSE。在很久很久以前,前端一般使用轮询来进行服务端向客户端进行消息的伪推送,为什么说轮询是伪推送?因为轮询本质上还是通过客户端向服务端发起一个单项传输的请求,服务端对这个请求做出响应而已。通过不断的请求来实现服务端向客户端推送数据的错觉。并不是服务端主动向客户端推送数据。

2025-04-21 17:36:31 16

空空如也

空空如也

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

TA关注的人

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