logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

锁 + AQS

当对象第一次作为被获取锁对象时,线程获取锁时发现对象头存储ID为空,就会获取到偏向锁,并且JVM会将线程ID写入对象的对象头中,当下一次这个线程再来的时候,ID匹配成功,就能直接执行不用再获取锁。在线程死亡或退出时批量清理时偏向锁会被释放。当第二个线程尝试获取锁时,发现对象已偏向线程A,JVM会先撤销偏向锁,然后线程B进入CAS自旋尝试获取轻量级锁,如果此时该线程仍在代码块中执行会升级为轻量级锁,

#java#开发语言
Redis Lua 脚本:从入门到避坑指南

Redis 从 2.6.0 版本开始内置了 Lua 解释器。零依赖:不需要像 Java 加 Maven 依赖、Python pip 安装库那样做任何前置准备。开箱即用:只要 Redis 版本 ≥ 2.6,直接用EVAL命令就能跑。Lua 在 Redis 里的角色是胶水语言,用它把多个 Redis 命令和业务判断逻辑打包成一个整体,交给 Redis 服务端一次性执行。维度常规编程语言(Java/Py

#redis#lua#junit
SpringAI+DeepSeek大模型应用开发

要定义会话存储方式,可以去实现ChatMemory接口,然后重写对应方法去实现。SpringAI也提供了一个默认的实现InMemoryChatMemory(最新1.0.3版本已经换成MessageWindowChatMemory了),但这个是存储在内存中的,服务器重启记忆就没了。

文章图片
SpringAI+DeepSeek大模型应用开发

要定义会话存储方式,可以去实现ChatMemory接口,然后重写对应方法去实现。SpringAI也提供了一个默认的实现InMemoryChatMemory(最新1.0.3版本已经换成MessageWindowChatMemory了),但这个是存储在内存中的,服务器重启记忆就没了。

文章图片
到底了