- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 Kafka和RocketMQ存储模型对比
Kafka是为了**“数据流”**而设计的,它不仅是队列,更是流存储平台。RocketMQ是为了**“业务”**而设计的,它更像是一个可靠的、高性能的分布式消息总线。
2026-01-08 23:09:29
597
原创 Spring-AI和LangChain4j区别
你的项目是纯 Spring Boot项目。你喜欢ChatClient这种流式构建 API。你希望由 Pivotal/Spring 官方团队背书,与 Spring Cloud 等组件深度集成。你习惯用FunctionBean 来定义工具。你还在观望,或者项目可能不用 Spring(比如用 Quarkus)。你需要对接一些冷门或特殊的模型/向量库(LangChain4j 目前支持的组件库比 Spring AI 多很多)。你喜欢 @AiService声明式接口。
2026-01-07 22:10:50
783
原创 Netty原理分析
Netty 是一个异步的、基于事件驱动的网络应用框架,用于快速开发可维护、高性能的协议服务器和客户端。它封装了 JDK 底层复杂的 NIO(Non-blocking IO)API,提供了一套更加易用、安全、高效的网络编程接口。很多知名的开源项目(如 Dubbo、RocketMQ、Elasticsearch)的底层网络通信层都采用了 Netty,我自己做即时通讯、物联网平台、智能家居等相关的项目也频繁的用到了Netty。
2026-01-07 22:08:32
678
原创 基于SpringAI和RAG搭建知识库实战
响应式陷阱:阻塞 IO 拖垮吞吐量,所有涉及数据库、外部 API 的操作,必须使用 .publishOn() 或 .subscribeOn(Schedulers.boundedElastic()) 切换到独立线程池,比如下面代码的。默认的 OpenAI Embedding (text-embedding-3-small) 是通用的,但在垂直领域(如医疗、工业)可能表现不佳。向量检索出来的 Top 10,可能第 1 条是错的,第 8 条才是对的。针对“A公司的供应商B的CEO是谁?用户的问题往往是不完整的。
2026-01-05 23:02:23
697
原创 Openfeign源码浅析
FeignClient接口代理执行流程feign.ReflectiveFeign.FeignInvocationHandler#invoke通过methodToHandler根据方法找到MethodHandler执行MethodHandler的调用,feign.SynchronousMethodHandler#invokefeign.SynchronousMethodHandler#invokeOpenfeign实现从FeignClient注解开始我们只在接口上加个@FeignC
2026-01-05 22:54:20
768
原创 Mybatis原理分析
SqlSessionFactoryBean-》是个FactoryBean负责生成SqlSessionFactory,1.负责解析mybatis配置文件,解析mapping配置文件,解析的信息在Configuration中维护,2.关联数据源dataSource ,也维护在Configuration中。StatementHandler:这个是个接口用于和jdbc的statement打交道,负责参数对象的映射和结果的映射,关键属性:parameterHandler和resultSetHandle。
2026-01-03 18:29:26
812
原创 xxl-job原理分析
xxl-lob分布式的任务调度框架核心思想是:任务的调度和任务的执行分离,任务的调度中心化统一调度、任务的执行分布式执行系统模块:调度中心分为执行器管理、任务管理(调度配置CRON、运行配置、路由配置、失败策略)关键技术:1.调度器和执行器如何通信,通过内嵌Netty作为http服务器,调度中心提供注册、回调等api接口、执行中心:提供心跳、心跳繁忙、运行等api接口。
2026-01-03 18:06:21
563
原创 JVM基础学习
/输出GC日志//内存溢出输出堆栈信息//NMT输出配置,可用于分析堆外内存//配置元空间大小//观察类加载和卸载信息//配置堆外大小//环境变量限制内存分配区 ArenaMALLOC_ARENA_MAX 2 或 ENV MALLOC_ARENA_MAX 2(docker配置)
2026-01-01 21:36:24
947
原创 Spring AI Advisor源码分析
Spring AI Advisors API 提供了一种灵活且强大的方式,拦截、修改和增强您在 Spring 应用中的 AI 驱动交互。 比如:聊天记忆(MessageChatMemoryAdvisor)、知识库问答(QuestionAnswerAdvisor)、日志输出(SimpleLoggerAdvisor)等等
2025-12-30 16:42:50
775
原创 Spring AI Tool Calling源码浅析析
定义阶段:你定义了一个 Java Function<Request, Response>。当你将一个函数注册为 Bean 时(通常使用 @Bean 并配合 @Description 注解),Spring AI 会将其包装成 FunctionCallback 或 ToolCallback。@Bean@Description("根据城市查询天气") // 描述会被发给 AI解析阶段:Spring AI 使用反射分析 Request 类,生成 JSON Schema。
2025-12-23 18:29:10
812
RFC3489中文版
2016-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅