大家好,我是R哥。 本来 Spring AI 2.0 预计是 2026/5 月份正式发布的,现在官方宣布已经延期一个月了,从 5 月延期到了 6 月。 好消息,Spring AI 2.0 终于迎来要正式发布的节奏了。 最近,Spring AI 2.0.0 第一个 RC 版本终于发布了: RC1 版本 ...
我的博客有一些积压很久的草稿,有的完成度太低、内容过时的我不定期会删除;另一些完成度比较高,但随着工作变动、时间过去太久的博文,无力继续研究相关方向和更新。好在 AI 发展迅速,我借助 DeepSeek 做了 review,修改掉格式错误和笔误,并补充了缺失的章节,算完成了小小的心愿。 本文最初写于 ...
伪共享(False Sharing)是多线程编程中一个很容易被忽略,但在高并发场景下又可能非常致命的性能问题。 它最迷惑人的地方在于:从业务代码上看,多个线程并没有修改同一个变量,甚至每个线程都只操作属于自己的那份数据,理论上不应该发生竞争;但从 CPU 的视角看,这些变量可能刚好落在同一个缓存行里 ...
大家好,我是R哥。 为什么要用 Spring AI,而不是直接调用大模型? 因为 Spring AI 解决的不是「大模型能不能调用」的问题,而是企业级 AI 应用里的统一抽象、模型切换、上下文管理、RAG、工具调用、流式输出、可观测性这些工程化问题。 那 Spring AI 是什么? Spring ...
前言 大家好,今天想分享一个我们在做 OAuth Device Flow 时遇到的真实问题。 Device Flow 很适合 CLI、桌面端、电视、IoT 这类不方便输入密码的场景。用户在设备上看到一个链接或验证码,打开浏览器完成授权,设备端再轮询 token。 但我们很快遇到一个安全困扰: cli ...
概述 同步与异步 同步: 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。此时需要调用者询问处理结果 异步: 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时调用者来询问处理结果,被调用者通常依靠事件,回调等机制来通知调用者其返回结果。 ...
9.1、断点调试的作用 代码运行出现错误时,需要排查定位问题所在。 当代码比较简单,或许能直接看出来;但当代码过于复杂的时候,就需要通过断点调试来查找错误。 9.2、断点调试步骤 9.2.1、添加断点 如上图所示,在代码左侧点击一下,即可添加一个断点(再点击即可取消),本示例添加了三个断点。 9.2 ...
HTTP/1.1的改进和不足 HTTP/1.1 相比 HTTP/1.0 性能上的改进: 使用长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。 支持管道(pipeline)网络传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间 HTTP/1.1的不足 ...
在OAuth 2.0框架中,aud(受众)声明的核心功能是明确指定令牌的合法接收者,它是一个关键的安全验证机制。 ⚙️ 核心原则:标识与验证 具体来说,这个机制遵循以下原则: 标识:授权服务器在签发令牌时,会将目标API的唯一标识写入aud字段,明确告知客户端“这个令牌是发给谁用的”。 验证:API ...
统一地址:https://test-apim-gateway.xxx.com/mcp-agg/1.0.0/.well-known/oauth-protected-resource 返回样式 { "resource": "https://test-apim-gateway.xxx.com/test/1 ...
大家好,我是R哥。 昨天发了一篇文章《天塌了!Spring AI 2.0 宣布移除智谱!!》,结果被某个粉丝怒怼了: Spring 里面接 AI 就是扯淡? 我没有回他,也不想回他,因为我觉得这个问题很幼稚,成年人不做教育,只做筛选。 我不知道他是不是想表达 Java 做 AI 就是扯淡? 还是单纯 ...
SWE-Bench Pro是编程能力评测的"高考",M3得分59.0%,超过GPT-5.5和Gemini 3.1 Pro,接近Opus 4.7。这个分数意味着什么?我们做了深度拆解。 SWE-Bench Pro是什么? SWE-Bench Pro是在SWE-Bench基础上的升级版,专门评测真实世界 ...
HTTP 基本概念 HTTP 是什么? HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。 「协议」:HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行 ...
8.1、常用快捷键 8.1.1、编码 说明 快捷键 智能提示 alt + enter 使用xx块环绕-surround with ctrl + alt + t 调出生成 getter/setter 构造器等结构 alt + insert 复制指定行的代码 ctrl + d 删除指定行的代码 ctrl ...
自己写登录系统是危险的。OAuth2 + JWT是最成熟的组合,MonkeyCode帮你把安全风险降到最低。 为什么不用Session+Cookie了? 传统Session方案的痛点: 问题 表现 扩展性差 Session存在单台服务器内存,多实例无法共享 CSRF风险 Cookie自动携带,容易被 ...
大家好,我是R哥。 最近,我在适配我的《Spring AI 开发实战课》到 Spring AI 2.0 版本,在适配的过程中发现「智谱」相关的模型类编译异常了: 于是我翻了下 Spring AI 2.0 的版本发布记录,发现 Spring AI 2.0 彻底移除智谱了。。 最早在 Spring AI ...
大家好,我是R哥。 上一个《Spring AI 1.1.6 发布,又一项重大变更!!》版本刚发布半月,现在又迎来了 Spring AI 1.1.7 版本的发布。 AI 更新太快了,活到老学到老的节奏。。 除了 Spring AI 1.1.7,2.0.0 也来到了 M7 版本了,预计很快就要正式 GA ...
多线程 重点: 1.会用wait和notify两个方法 2.会使用Lock锁对象 3.会利用Callable接口实现多线程 4.会使用线程池完成多线程 第一章.等待唤醒机制 1.等待唤醒案例分析(线程之间的通信) 要求:一个线程生产,一个线程消费,不能连续生产,不能连续消费 -> 等待唤醒机制(生产 ...
7.1、查看预设模板 7.1.1、后缀补全模板 如上图所示,可以查看具体的后缀补全模板。 7.1.2、实时模板 如上图所示,可以查看具体的实时模板。 7.2、常用模板 7.2.1、函数 // main:main 函数 public static void main(String[] args) { ...
前言 Sentinel是阿里巴巴开源的一款微服务流量控制组件。官网地址:https://sentinelguard.io/zh-cn/index.html,官方wiki: Sentinel 具有以下特征: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒 ...