自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猫吻鱼的博客

身坚志残

  • 博客(237)
  • 资源 (4)
  • 收藏
  • 关注

原创 【系列文章合集】【全部系列文章合集】

本篇作为一个合集的合集,整理各个系列文章内容(因为有时候我自己也忘了自己写了哪部分内容),仅做合集记录,不定期更新。

2026-01-10 10:38:50 526

原创 【Netty4核心原理】【全系列文章目录】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。

2025-04-16 11:07:51 838

原创 设计模式 :总结篇

设计模式① :适应设计模式Iterator 模式:一个一个遍历。Adapter 模式:加个适配器以便于复用。设计模式② :交给子类Template Method 模式 :将具体处理交给子类Factory Method 模式 :将实例的生成交给子类。设计模式③ :生成实例Singleton 模式 :只有一个实例Prototype 模式 :通过复制生成实例Builder 模式 :组装复杂的实例Abstract Factory 模式 :将关联零件组装成产品设计模式④ :分开考虑。

2024-01-27 17:19:38 1104

原创 Dubbo源码分析:全集整理

文章目录一、前言二、目录1. 源码篇2. 衍生篇一、前言本文是Dubbo源码分析目录集整理,方便后续查找。本文持续更新中。二、目录1. 源码篇2. 衍生篇

2021-06-17 19:35:36 4899 2

原创 Spring源码分析:全集整理

本文是Spring源码分析系列文章的目录整理,主要基于《Spring源码深度解析》的学习记录。内容涵盖Spring核心功能源码分析、衍生技术解析及补充知识点,包括IOC容器、AOP实现、事务管理、Spring MVC等核心模块的源码解读。文章持续更新中,目前已包含25篇源码分析、13篇衍生技术探讨以及3篇补充内容,并附有Mybatis源码分析链接。作者在2021年期间持续更新,后期因技术沉淀需要暂停写作。

2020-07-04 12:29:37 53896 37

原创 【笔记02】【MongoDB】

本文为MongoDB使用笔记,记录从零开始使用MongoDB作为主力数据库的过程。涵盖基础语法:DDL操作(如创建集合、索引)、DML操作(增删改查)、聚合管道(aggregate)应用。重点包括查询条件、数组操作符($addToSet、$push)、更新选项(upsert)、分页排序及聚合阶段($match、$group、$project)的使用。通过实例演示多条件查询、分组统计与连表分析,强调合理使用索引与内存控制(allowDiskUse),适用于初学者快速上手与备忘。

2026-11-04 22:15:00 315

原创 【AI 02】【Agent 三种模式】

本文介绍Spring AI 2.0中Agent设计的三种常见模式:ReAct(边推理边执行)、Plan & Execute(规划并执行)与Reflection(反思)。以TravelTools为例,演示ReAct模式下模型通过工具调用逐步获取天气、时间等信息,并动态决策下一步行动。代码基于Spring Boot 4.1.1与Spring AI 2.0.1,利用ToolCallingAdvisor实现工具循环调用。该模式灵活但路径不可控;后续将探讨Plan & Execute模式,先分解任务再逐步执行,提升可

2026-09-19 09:34:49 244

原创 【AI 01】【Spring AI 基础使用】

本文介绍 Spring AI 2.0 的基本使用,基于 Spring Boot 4.1.1 与 Spring AI 2.0.1,通过配置 OpenAI 兼容接口(如 DeepSeek)实现 LLM 对话功能。核心组件包括 ChatModel、ChatClient 与 ChatMemory,支持对话记忆与自定义 Advisor。示例展示如何构建基于滑动窗口的聊天记忆、设置系统提示,并实现同步与流式调用,为后续深度应用奠定基础。完整代码见 spring-ai-hwl。

2026-09-13 11:22:10 192

原创 【LangChain4j 11】【项目实践 :HiNovel】

HiNovel AI辅助写作平台简介 HiNovel是一款基于LangChain4J 1.8.0的AI小说创作平台,集成章节编辑、人物图谱、RAG知识库和多Agent协作功能,通过Spring Boot+Vue技术栈实现。项目定位为学习实践,支持Docker一键部署(需配置MySQL/Redis)或手动运行,提供默认管理员账号admin/Admin@123456。核心功能包括模型配置(支持本地/在线API)、章节AI生成、人物关系管理及知识库检索,但目前仍处于测试阶段,不建议生产环境使用。 关键点: 技术栈

2026-06-20 17:51:51 365

原创 【Netty4核心原理⑱】【Reactor Netty】

Reactor Netty 是基于 Netty 做的响应式封装和高层抽象**,Netty 的响应式封装,将 Netty 的异步事件模型与 Reactor 的 Publisher/Subscriber 响应式流模型深度融合。关于 Reactor 响应式编程,详参【笔记02】【Reactor 响应式编程】一文。响应式与背压(Reactive & Backpressure)完全基于 Reactive Streams 规范,所有网络操作返回MonoFlux,天然支持背压,避免生产者速度远超消费者导致的内存溢出。

2026-05-06 21:30:54 707

原创 【笔记04】【Grpc 和 Protobuf】

无论数据量大小,Protobuf 原始体积都小于 JSON:Protobuf 使用二进制编码,不传输字段名,因此天然具备体积优势。小数据量场景下,GZIP 反而会增加数据体积:单条接口数据的体积很小,GZIP 压缩算法本身需要存储固定头部信息、校验位等额外数据,导致压缩后体积不减反增。大数据量场景下,GZIP 压缩效果显著:当数据量足够大时,重复内容变多,GZIP 可以高效消除冗余,压缩率极高。最优组合:Protobuf + GZIP:在大数据量场景下,该组合体积最小,是微服务批量接口的最佳传输方案。

2026-05-06 21:30:19 620

原创 【笔记03】【Reactor 响应式编程② - 事务编程】

本文探讨了在Reactor响应式编程环境下如何保证事务一致性。传统基于ThreadLocal的Spring事务机制在Reactor异步非阻塞模型中会失效,因为线程切换导致事务上下文丢失。作者分析了两种解决方案:1)使用MyBatis-Plus配合Mono.fromCallable()将事务操作封装到同一线程中,虽能保证事务但属于"伪响应式";2)推荐使用Spring Data R2DBC原生支持响应式事务,通过Reactor Context传递事务上下文。文章提供了完整代码示例,并指出R2DBC方案更适合新

2026-04-26 15:41:17 570

原创 【LangChain4j 10】【Skills】

本文介绍了LangChain4J中的Skills机制,这是一种为大型语言模型提供可复用行为指令的创新方法。Skills采用渐进式披露设计,包含三层结构:元数据层(名称/描述)、核心指令层(SKILL.md)和补充资源层(按需加载)。文章详细说明了Skills的目录规范、三种创建方式(文件系统、类路径和编程式),并强调其与MCP协议的区别:MCP提供连接外部工具的"接口",而Skills则是指导任务执行的"能力单元"。需要注意的是,Skills API目前仍处于实验阶段

2026-04-04 13:46:24 2006 3

原创 【LangChain4j 09】【MCP】

本文介绍了LangChain4j框架中渐进式披露设计思想和MCP(模型上下文协议)的应用。主要内容包括:1)渐进式披露的三层信息架构(元数据层、核心指令层、补充资源层)及其在突破上下文限制、降低Token成本方面的优势;2)MCP协议的JSON-RPC 2.0实现方式,包含生命周期管理、资源访问等核心方法;3)MCP与Skills的结合,实现外部工具和资源的按需加载机制。文章使用LangChain4j 1.11.0版本演示相关特性,完整代码已开源。

2026-04-04 13:45:07 1266

原创 【LangChain4j 08】【Observability】

本文介绍了LangChain4J 1.11.0版本中的AI Service可观测性功能,该功能通过事件监听机制追踪AI服务调用过程。文章详细说明了各类监听器的触发时机和用途,包括请求发出、响应接收、错误处理等关键环节,并强调所有事件通过invocationId关联同一调用流程。最后给出了监听器的简单实现示例,展示了如何记录请求和完成事件的关键信息。需要注意的是,该功能目前仍处于实验阶段,API和行为可能发生变化。

2026-03-22 14:15:55 689

原创 【LangChain4j 07】【Guardrails】

本文介绍了LangChain4J中的Guardrails(护栏)功能,主要用于验证大语言模型的输入和输出。Guardrails分为Input Guardrails(输入护栏)和Output Guardrails(输出护栏),其中Input Guardrails可在调用模型前验证输入合法性。文章详细说明了Input Guardrails的实现方式、返回值类型(success、failure等)以及三种声明方法(全局绑定、方法注解等),并强调护栏设计应遵循单一职责原则,通过串联多个简单护栏实现复杂校验。最后指出

2026-03-22 10:10:21 792

原创 【LangChain4j 06】【结构化输出】

本文介绍了使用LangChain4j实现大语言模型(LLM)结构化输出的三种方法,重点讲解了JSON Schema方式。文章展示了如何通过ChatModel API和AI Service API实现JSON格式输出,详细说明了JSON Schema的定义、使用注意事项以及与Java类型的映射关系。示例代码演示了如何从非结构化文本中提取Person对象信息,并转换为Java对象。同时指出不同LLM服务商对JSON Schema根元素类型的支持差异,以及属性声明、类型映射等关键注意事项。

2026-03-16 20:59:08 788

原创 【LangChain4j 05】【RAG】

本文介绍了LangChain4j框架中的RAG(检索增强生成)技术。RAG通过先检索后生成的方式,利用私有/实时数据增强大模型回答能力,降低幻觉概率。文章详细解析了RAG的索引和检索两阶段流程,以及三种实现方式:Easy RAG(开箱即用)、Naive RAG(基础定制版)和Advanced RAG(高级模块化方案)。其中重点展示了Easy RAG的快速实现示例,通过简单依赖注入即可完成知识库问答功能。完整代码已开源,适合开发者快速验证RAG技术。

2026-03-10 19:44:15 904

原创 【笔记02】【Reactor 响应式编程① - 基础介绍】

本文介绍了Reactor响应式编程的核心概念与应用,主要内容包括: Reactor简介:基于Reactive Streams标准的响应式编程库,核心组件是Mono(0/1个元素)和Flux(0-N个元素),支持异步非阻塞和背压机制。 与传统编程对比:响应式编程通过事件驱动模型提高并发能力,避免线程阻塞,内置背压控制,适合高并发、IO密集型场景。 核心特性: Mono和Flux的创建与转换方法 惰性执行原则(需subscribe触发) 丰富的操作符(类似Stream API) 错误处理机制(onErrorRe

2026-03-06 22:33:13 798

原创 【LangChain4j 04】【Tools (Function Calling)】

本文介绍了LangChain4j中工具调用的实现方法。主要内容包括:1)工具调用让LLM突破纯文本输出限制,通过开发者定义的外部工具实现功能扩展;2)LangChain4j提供两种抽象层级的工具调用方式:Low-Level(手动定义工具元信息和调用流程)和High-Level(通过注解简化开发);3)重点讲解了Low-Level方式,包括如何创建ToolSpecification工具规范(手动构建或基于注解生成),以及通过ChatModel处理工具调用请求的完整流程。文章还提供了代码示例说明工具调用的具体实

2026-01-17 14:47:29 1363

原创 【Netty4核心原理⑰】【设计模式在 Netty 中的应用】

本文基于Netty 4.1.73.Final版本,分析了Netty框架中应用的多种设计模式。主要内容包括:单例模式在MqttEncoder中的实现,策略模式用于线程分配优化,装饰者模式通过WrappedByteBuf包装类实现,观察者模式通过Promise/Future机制实现事件监听,迭代器模式用于CompositeByteBuf的零拷贝处理,责任链模式在Pipeline中的核心应用,以及工厂模式通过ReflectiveChannelFactory创建Channel对象。这些设计模式的合理运用,使得Net

2026-01-10 09:50:26 1110

原创 【项目实践09】【基于 Websocket 的同步请求调用】

本文记录了一个实际项目中通过WebSocket实现异步转同步请求的解决方案。项目背景是服务A需要通过WebSocket从服务B获取数据,文章介绍了基于CountDownLatch和CompletableFuture的实现方式。重点展示了使用CountDownLatch的完整代码实现,包括WebSocket服务端搭建、客户端请求上下文管理以及同步等待机制。该方案通过唯一请求ID匹配请求和响应,利用CountDownLatch实现线程阻塞与唤醒,并支持超时配置,确保请求不会无限期阻塞。

2026-01-01 15:02:22 1294 1

原创 【LangChain4j 03】【Agents and Agentic AI】

本文介绍了LangChain4j中的智能体(Agent)和工作流功能。主要内容包括: 智能体概念:通过@Agent注解定义智能体接口,可与其他智能体协作完成任务。智能体需指定唯一名称和用途描述,并可通过outputKey共享变量传递结果。 AgenticScope:作为智能体间共享的数据集合,记录调用上下文和智能体执行顺序,支持智能体协作。 工作流模式:重点介绍了顺序工作流(Sequential workflow),通过依次调用多个智能体完成任务链。示例展示了创意写作、受众编辑和风格编辑三个智能体的串联工作

2025-12-02 19:08:55 1934

原创 【Netty4核心原理⑯】【Netty高性能调优工具类解析】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第十四章 Netty高性能调优工具类解析书中 第十三章 基于 Netty 手写消息推送系统 内容本系列不记录。</</</</【Netty4核心原理】【全系列文章目录】

2025-11-29 09:13:03 1065

原创 【LangChain4j 02】【AI Services】

本文介绍了LangChain4j框架中AI Services的高级API使用方法。主要内容包括: 两种构建AI Service的方式:通过AiServices建造者模式和@AiService注解模式 使用SystemMessage的三种方法:构造器模式、@SystemMessage注解以及@UserMessage注解 多模态功能的实现,展示如何通过@UserMessage注解接收不同类型的Content参数 提供了完整的代码示例和使用说明,包括版本信息和GitHub代码地址 该文档旨在帮助开发者快速掌握La

2025-11-08 15:28:22 1873

原创 【LangChain4j 01】【基本使用】

本文介绍了LangChain4j框架中ChatModel的基本使用和核心概念。首先演示了如何搭建一个基础项目,通过引入依赖和配置OpenAI模型实现简单的对话功能。然后详细讲解了ChatModel支持的多种模型类型(如语言模型、嵌入模型等)以及两种API设计(底层ChatModel和高层AI Services)。重点剖析了ChatMessage类型,包括用户消息(UserMessage)和AI回复消息(AiMessage)的结构与功能,为开发者提供使用LangChain4j构建AI应用的核心知识。

2025-11-08 15:25:05 1950

原创 【Netty4核心原理⑮】【Netty 编解码的艺术】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第十二章 Netty 编解码的艺术</</</</【Netty4核心原理】【全系列文章目录】TCP 是一个 “流” 协议。所谓流,就是没有界限的一长串二进制数据。

2025-10-28 13:06:59 1150

原创 【Netty4核心原理⑭】【Netty 内存分配 ByteBuf❷】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第十一章 Netty 内存分配 ByteBuf</</</</【Netty4核心原理】【全系列文章目录】在【Netty4核心原理⑬】【Netty 内存分配 ByteBuf❶】

2025-09-01 19:34:52 934

原创 【Netty4核心原理⑬】【Netty 内存分配 ByteBuf❶】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第十一章 Netty 内存分配 ByteBuf</</</</【Netty4核心原理】【全系列文章目录】

2025-09-01 19:33:06 1313

原创 【Netty4核心原理⑫】【异步处理双子星 Future 与 Promise】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第十章 异步处理双子星 Future 与 Promise</</</</【Netty4核心原理】【全系列文章目录】

2025-08-19 19:07:53 1110

原创 【Netty4核心原理⑪】【Netty 大动脉 Pipeline】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第九章 Netty 大动脉 Pipeline</</</</【Netty4核心原理】【全系列文章目录】我们在【Netty4核心原理⑦】【揭开Bootstrap的神秘面纱 - 客户端Bootstrap ❷】的【ChannelPipeline 的初始化。

2025-08-09 11:05:10 1133

原创 【项目实践08】【事务加锁的问题】

本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。

2025-07-17 20:31:13 1324

原创 【Netty4核心原理⑩】【大名鼎鼎的 EventLoop】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第八章 大名鼎鼎的 EventLoop</</</</【Netty4核心原理】【全系列文章目录】本篇的大部分内容都在前篇讲过,所以本篇存在的意义并不大。

2025-07-14 19:51:40 1219

原创 【Netty4核心原理⑨】【揭开Bootstrap的神秘面纱 - 服务端Bootstrap❷】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第七章 揭开Bootstrap的神秘面纱第八章 大名鼎鼎的 EventLoop</</</</【Netty4核心原理】【全系列文章目录】在【Netty4核心原理⑧】【揭开Bootstrap的神秘面纱 - 服务端Bootstrap❶】内容中我们对 服务端Bootstrap 进行了分析,本篇我们继续来进行分析。

2025-06-05 14:33:26 1057

原创 【Netty4核心原理⑧】【揭开Bootstrap的神秘面纱 - 服务端Bootstrap❶】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第七章 揭开Bootstrap的神秘面纱</</</</【Netty4核心原理】【全系列文章目录】在【Netty4核心原理⑥】【揭开Bootstrap的神秘面纱 - 客户端Bootstrap ❶】内容中我们对 客户端Bootstrap 进行了分析,本篇来对 服务端 Bootstrap 进行分析。

2025-06-05 14:31:31 1454

原创 【Netty4核心原理⑦】【揭开Bootstrap的神秘面纱 - 客户端Bootstrap ❷】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第七章 揭开Bootstrap的神秘面纱</</</</【Netty4核心原理】【全系列文章目录】书接【Netty4核心原理⑥】【揭开Bootstrap的神秘面纱 - 客户端Bootstrap ❶】,下面我们来介绍 Netty 中 客户端发起连接请求的内容。

2025-05-07 09:02:35 1021

原创 【Netty4核心原理⑥】【揭开Bootstrap的神秘面纱 - 客户端Bootstrap ❶】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第七章 揭开Bootstrap的神秘面纱</</</</【Netty4核心原理】【全系列文章目录】在 Netty 中, Channel 相当于一个 Socket 的抽象,他为用户提供了关于 Socket状态、读、写等操作,每当 Netty 建立了一个连接,都创建了一个与其对应的 Channel 实例。

2025-05-07 09:00:23 1068

原创 【Netty4核心原理⑤】【高性能之道】

本系列虽说本意是作为 《Netty4 核心原理》一书的读书笔记,但在实际阅读记录过程中加入了大量个人阅读的理解和内容,因此对书中内容存在大量删改。第六章 Netty 高性能之路</</</</【Netty4核心原理】【全系列文章目录】Netty 提供了多种内存管理策略,通过在启动辅助类中配置相关参数,可以实现差异化的个性定制。简化类图如下:ByteBuf 存在一个子类 PooledByteBuf, 继承该类的ByteBuf 可以认定为使用了内存池技术。

2025-04-16 11:16:18 1510

原创 【Netty4核心原理④】【简单实现 Tomcat 和 RPC框架功能】

本系列内容为阅读《Netty4 核心原理》一书内容总结,内容存在个人删改,仅做个人笔记使用。

2025-04-07 09:33:45 1520

原创 【Netty4核心原理③】【 Netty 与 NIO 之前世今生】

本系列内容为阅读《Netty4 核心原理》一书内容总结,内容存在个人删改,仅做个人笔记使用。第三章 Netty 与 NIO 之前世今生</</</</TODO。

2025-03-24 10:41:11 1327

配置类方式配置SSM框架

通过配置类方式搭建了SSM框架,完全抛弃了xml配置文件

2019-09-04

securityjwt-old.zip

Spring Security 实现权限控制,加上JWT用户认证

2019-11-02

SpringWebDemo.zip

使用Spring配置类方式配置SSM框架。

2019-09-03

Eurake.zip

Eureka:服务治理组件,包含服务注册中心,服务注册与发现机制的实现。(服务治理,服务注册/发现) Zuul:网关组件,提供智能路由,访问过滤功能 Ribbon:客户端负载均衡的服务调用组件(客户端负载) Feign:服务调用,给予Ribbon和Hystrix的声明式服务调用组件 (声明式服务调用) Hystrix:容错管理组件,实现断路器模式,帮助服务依赖中出现的延迟和为故障提供强大的容错能力。(熔断、断路器,容错)

2019-07-20

空空如也

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

TA关注的人

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