摘要: 什么是SpringAI 它解决的核心问题是:统一不同大模型的调用方式。Spring AI 抽象了一层 ChatModel 接口,不管底层是哪个模型(每个LLM厂商对应的API格式不太一样),上层代码都一样,只需要更改大模型的配置 简化 Prompt,Spring AI 提供了模板机制,Prompt 阅读全文
posted @ 2026-03-30 11:32 Huangyien 阅读(0) 评论(0) 推荐(0)
摘要: DAG+工作流引擎 DAG是有向无环图,一堆任务,按箭头顺序跑,不会绕圈死循环。 MCP协议 MCP(Model Context Protocol)是一个AI 调用外部工具 / 数据的标准化通信协议 MCP 最核心:只干 3 件事,告诉 AI 我有什么工具(工具发现),AI 按标准格式调用工具(统一 阅读全文
posted @ 2026-03-29 19:01 Huangyien 阅读(2) 评论(0) 推荐(0)
摘要: 高并发队列 使用 ConcurrentLinkedQueue 做高并发无锁队列 实现 生产 - 消费模型 ConcurrentLinkedQueue只在本服务、本 JVM 内消费,追求极高性能(微秒级),做内存缓冲、异步批处理、日志聚合、事件总线 小项目简单用 → RabbitMQ 业务系统、微服务 阅读全文
posted @ 2026-03-28 11:22 Huangyien 阅读(1) 评论(0) 推荐(0)
摘要: 功能1:后台悄悄干活,不耽误主线程。把任务交给一个子线程去做,比如记录日志,发消息,发短信,统计数据 功能2:我让你干活,但我只等你 X 秒,超时我就不等了!调用第三方接口一直不返回,查询数据库慢查询卡死,防止整个接口被拖死,它是一个安全保护工具! 使用TransmittableThreadLoca 阅读全文
posted @ 2026-03-26 17:03 Huangyien 阅读(1) 评论(0) 推荐(0)
摘要: 数据的表示与运算 原码,反码,补码以及JAVA中的基本数据类型 原码:人看的二进制,符号位 + 真值,不能做减法,0表示正数,1表示负数 反码:过渡编码,负数数值位取反 补码:计算机实际使用的编码,负数 = 反码 + 1,正数的原码,反码,补码都一样。 Java 所有整数(byte/short/in 阅读全文
posted @ 2026-03-25 22:15 Huangyien 阅读(1) 评论(0) 推荐(0)
摘要: 时间类 LocalDate —— 只有 日期 LocalTime —— 只有 时间 LocalDateTime —— 日期 + 时间 Spring / Redis 默认不支持 Java8 新时间类型序列化! 返回前端 → 加 @JsonFormat 存入 Redis → 配置 JavaTimeMod 阅读全文
posted @ 2026-03-23 09:29 Huangyien 阅读(2) 评论(0) 推荐(0)
摘要: ElasticSearch基础 基于文档存储数据,使用json格式存储,比如一个人的信息就会写成一份json文档而不是传统数据库分表分行记录;每次搜索的时候会根据关键词全文搜索,可以返回来好几个json文档,会自动给json文档计算分数,排名越靠前相关性越高。 ES不支持ACID事务,但是对于单个J 阅读全文
posted @ 2026-03-10 14:06 Huangyien 阅读(4) 评论(0) 推荐(0)
摘要: lunux占用内存小的核心原因 极简可裁剪的内核设计,核心只保留进程调度,内存管理等基础操作系统,其他的一些功能比如硬件驱动,文件系统都可以做成可动态加载卸载的模块,像windows就是全部加载进去。 极致的内存共享机制,写时复制,当打开多个进程是,会让父子进程共享同一块物理内存,只有当一个进程需要 阅读全文
posted @ 2026-03-09 11:01 Huangyien 阅读(4) 评论(0) 推荐(0)
摘要: Kafka 业务逻辑 通过@KafkaListener 注解监听 Kafka 主题,检测到该主题有要处理的任务,会自动调用 processTask 该方法并且传入要处理的类 task,对文件开始处理 在 MinIO 中进行文件合并之后会产生预签名URL, 在 Kafka 中通过这个 URL 下载文件 阅读全文
posted @ 2026-02-11 16:15 Huangyien 阅读(5) 评论(0) 推荐(0)
摘要: 业务逻辑 获取用户数据库ID,这里有个兼容性的业务逻辑:传入的 userId 是 String 类型的,把这个类型使用 parseLong() 方法,如果能转换就是数字类型,直接根据 userId 查询看这个用户是否存在返回这个数字格式;如果转换失败说明传进来是 userName, 那么就根据用户名 阅读全文
posted @ 2026-02-07 21:01 Huangyien 阅读(3) 评论(0) 推荐(0)