自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

猫吻鱼的博客

身坚志残

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

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

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

2026-01-10 10:38:50 357

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

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

2025-04-16 11:07:51 699

原创 设计模式 :总结篇

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

2024-01-27 17:19:38 1024

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

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

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

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

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

2020-07-04 12:29:37 52980 36

原创 【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 388

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

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

2026-05-06 21:30:19 479

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

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

2026-04-26 15:41:17 428

原创 【LangChain4j 10】【Skills】

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

2026-04-04 13:46:24 1028 1

原创 【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 707

原创 【LangChain4j 08】【Observability】

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

2026-03-22 14:15:55 452

原创 【LangChain4j 07】【Guardrails】

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

2026-03-22 10:10:21 594

原创 【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 563

原创 【LangChain4j 05】【RAG】

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

2026-03-10 19:44:15 556

原创 【笔记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 576

原创 【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 1030

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

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

2026-01-10 09:50:26 973

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

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

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

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

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

2025-12-02 19:08:55 1417

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

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

2025-11-29 09:13:03 968

原创 【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 1532

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

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

2025-11-08 15:25:05 1597

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

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

2025-10-28 13:06:59 1039

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

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

2025-09-01 19:34:52 810

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

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

2025-09-01 19:33:06 1197

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

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

2025-08-19 19:07:53 1021

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

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

2025-08-09 11:05:10 998

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

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

2025-07-17 20:31:13 1216

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

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

2025-07-14 19:51:40 1101

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

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

2025-06-05 14:33:26 933

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

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

2025-06-05 14:31:31 1362

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

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

2025-05-07 09:02:35 913

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

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

2025-05-07 09:00:23 967

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

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

2025-04-16 11:16:18 1358

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

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

2025-04-07 09:33:45 1385

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

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

2025-03-24 10:41:11 1211

原创 【Netty4核心原理②】【Java I/O 演进之路】

本系列内容为阅读《Netty4 核心原理》一书内容总结,内容存在个人删改,仅做个人笔记使用。第二章 Java I/O演进之路</</</</TODO严格来说,前四种 IO 模型都是 同步 IO 操作,他们的区别在于第一阶段,而第二阶段是一样的,在数据从内核拷贝到应用缓冲区期间(用户空间),进程阻塞于recvfrom 调用。

2025-03-13 10:42:43 968

原创 【Netty4核心原理①】【网络通信原理】

本文主要介绍了网络通信的基本原理和TCP/IP五层模型。首先阐述了C/S架构下网络通信的5个基本步骤,然后详细解析了TCP/IP五层模型中的物理层、数据链路层、网络层和传输层。 在数据链路层,重点讲解了以太网协议和MAC地址的工作原理;在网络层,详细说明了IP地址、子网掩码和ARP协议;在传输层,对比分析了TCP和UDP协议的核心区别,包括连接方式、可靠性和数据传输特性等。 文章基于Netty 4.1.73版本,旨在帮助读者深入理解网络通信底层机制,为后续学习Netty框架打下基础。通过本文,读者可以掌握计

2025-03-04 16:58:17 1314

原创 【笔记01】【Redis Stream 使用】

本系列仅做个人笔记使用,内容大部分来自所引用文章,侵删。日期描述2025.04.01重写文章大部分内容Redis Stream 是Redis 5.0消息队列:Redis Stream 可以用作高性能的消息队列。生产者可以将消息添加到流中,消费者可以从流中读取消息进行处理。它支持消费者组的概念,多个消费者可以组成一个组共同消费消息,并且可以记录每个消费者组的消费进度,确保消息不会被重复消费或遗漏。有序日志记录。

2025-02-21 14:13:16 2408

原创 【项目实践07】【多线程下事务的一致性】

本系列用来记录一些在实际项目中的小东西,并记录在过程中想到一些小东西,因为是随笔记录,所以内容不会过于详细。本篇从开篇到完成至少搁置了半年,因此之前的一些想法记不太清楚了。总之:本篇的方案未经过实际验证,谨慎使用。本篇的灵感来源自Spring在多线程环境下如何确保事务一致性,正如其文章内容所属,想实现 多线程下事务的一致性 有多重方案选择,包括最基础的 JDBC 编程、或者 分布式事务思想等,不必局限于此。

2025-02-20 10:51:50 1509

配置类方式配置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关注的人

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