自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springAiAlibaba实现对话记忆

摘要:Spring AI的ChatMemory抽象支持多种对话记忆管理策略,通过ChatMemoryRepository接口实现消息存储。默认使用InMemoryChatMemoryRepository和MessageWindowChatMemory管理历史对话,支持Redis、MySQL等存储方式。项目示例展示了如何配置Redis存储的聊天记忆,通过MessageWindowChatMemory限制100条消息,并集成到ChatClient中使用。内置的Advisor(如MessageChatMemory

2025-12-29 10:24:58 148

原创 Spring 状态机 实战案例

Spring StateMachine 是 Spring 提供的一个 状态机框架,用来处理复杂的状态转换逻辑。它支持 状态管理、事件驱动 和 动作处理,适合开发具有状态流转需求的系统,比如工作流、订单状态管理、设备控制等。状态 (States):系统的各种可能状态。事件 (Events):触发状态转移的条件。转换 (Transitions):状态之间的流转规则。动作 (Actions):在状态变化或事件发生时执行的逻辑。

2025-02-08 11:08:51 1111

原创 CAS是什么?

在 JAVA代码中 AtomicInteger 中的方法 compareAndSet,可以看到底层是调用了 Unsafe类中的方法,由于Unsafe 类是由C++编写的,通过编译器是无法查看具体的实现逻辑,大致步骤是底层通过汇编语言编辑,本质在硬件上还是加锁了。2、通过while循环调用 compareAndSwapInt 去进行交换,内置是,先去比较是否是原来的值,如果是那么就进行交换,同时交换成功会返回True。由第二步可以看出来,本质上就是一个自旋的方式,通过循环一直重试,直到交换成功。

2024-11-03 16:15:24 706 1

空空如也

空空如也

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

TA关注的人

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