自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (2)
  • 收藏
  • 关注

原创 Reactor Sinks 全面解析:它解决了什么问题,为什么 WebFlux 项目离不开它

Sinks是Reactor中用于主动推送数据的信号源,可以将外部回调式数据接入响应式流。它分为三种类型: Sinks.One:发射单次结果,封装为Mono,适用于异步回调场景 Sinks.Many:支持多次发射,分为三种模式: unicast(单订阅者) multicast(多订阅者广播,不回溯历史) replay(多订阅者带历史回溯) Sinks.Empty:仅发射终止信号 典型应用场景包括WebSocket推送、扫码登录通知等。使用时需注意: 通过tryEmitXxx/emitXxx方法推送数据 多线程

2025-12-26 00:21:42 725

原创 SpringAI和 Langchain4j等 AI 框架之间的差异和开发经验

本文对比了四种AI应用开发框架:Spring AI、Spring AI Alibaba、LangChain4j和LangGraph。Spring AI由Spring官方维护,提供统一的AI接入抽象;Spring AI Alibaba是其国内增强版,优化了本地模型支持。LangChain4j是Java版LangChain,专注复杂LLM应用编排;LangGraph在此基础上提供图式工作流编排能力。文章从项目定位、编程模型、厂商支持和使用场景等维度进行详细对比,为开发者提供选型参考。

2025-12-18 22:07:13 1045

原创 Spring AI Alibaba + Ollama 实战:基于本地 Qwen3 的 Spring Boot 大模型应用

,以本地 Ollama 的 Qwen3 模型为核心,构建对话、记忆、RAG、工具调用及 Graph 工作流等能力。通过统一的 ChatModel / ChatClient 抽象,既能在开发阶段本地调试,又能在未来平滑切换到阿里云 DashScope。文中给出了依赖配置、application.yaml 示例、核心 Controller 与配置类代码,并通过 spring-ai-alibaba-graph-core 展示顺序与多条件分支的有状态流程图,帮助 Spring 开发者快速落地大模型应用。

2025-12-15 00:01:17 1188

原创 MapStruct 企业级应用实战:复杂对象图映射、循环引用处理与模块化配置

MapStruct 是基于 Java 注解处理器的编译时代码生成框架,用于简化对象映射转换。通过编译期生成类型安全的映射代码,性能接近手写代码,远超反射方案。本文全面解析其核心原理、技术优势与实战应用,涵盖基础映射、高级技术、最佳实践等内容,结合实际案例为开发者提供完整的学习指南。

2025-12-13 16:40:54 1016

原创 Spring AI 深度实践:在 Java 项目中统一 Chat、RAG、Tools 与 MCP 能力

本文介绍了基于Spring AI的多模块示例项目java-ai,重点展示了spring_ai_demo子项目的实战应用。项目通过Spring AI实现了大模型集成,提供统一API抽象,支持配置驱动开发。主要内容包括:1) 基础对话功能实现,对比ChatModel与ChatClient+Advisor两种方式;2) 基于PostgreSQL+pgvector的RAG检索增强;3) 工具函数调用能力;4) MCP协议实现工具能力解耦。文章详细分析了Spring AI的优势(官方维护、供应商无关、编程简单)与不足

2025-12-10 23:20:54 1242

原创 Rust MCP:构建智能上下文协议的未来桥梁

本文介绍了Rust MCP项目,这是一个基于Model Context Protocol(MCP)协议的Rust实现,为AI模型提供结构化上下文交互能力。文章详细解析了MCP三大核心组件:Tools(提供外部执行能力)、Prompt(控制模型行为)和Resources(数据资源访问),并阐述了它们协同工作的流程。通过计数器服务器案例,展示了如何使用Rust MCP框架构建工具服务器,重点介绍了#[tool_router]和#[tool_handler]宏如何简化工具路由和请求处理。该技术栈结合了Rust的类

2025-09-25 00:16:53 1315

原创 告别手写文档:Schemars 如何让 Rust 代码自我描述

Schemars 是 Rust 生态中一颗冉冉升起的新星,它巧妙地架起了数据结构与 JSON Schema 之间的桥梁。通过简单的 derive 宏,开发者能让 Rust 代码自动生成精确的 JSON Schema,彻底告别繁琐的手动文档编写。本文深入探索 Schemars 的核心功能,展示其与 Serde 的无缝集成、强大的验证规则支持和灵活的自定义选项。

2025-09-21 20:02:58 691

原创 rdKafka驾驭手册:从青铜到王者的异步消息屠龙术

Rust Kafka客户端库rdkafka使用指南 本文介绍了基于librdkafka的Rust客户端库rdkafka的使用方法。主要内容包括:安装配置(需C依赖和系统工具链)、基本概念(生产者/消费者/分区等核心组件)、生产者操作(同步/异步消息发送、批量处理、消息头)、消费者实现、管理员功能以及高级特性。文档提供了详细的代码示例,涵盖从基础连接到高级消息处理的全流程,并包含错误处理和性能优化建议,帮助开发者快速构建高效的Kafka应用。

2025-09-11 22:26:12 837

原创 Rust 日志库完全指南:从入门到精通

本文介绍了Rust生态中几种主流日志库的特点与使用场景。核心日志门面log提供统一API,需配合其他实现使用;env_logger通过环境变量配置,适合命令行工具;pretty_env_logger提供彩色美化输出,适合开发调试;功能强大的flexi_logger支持文件与控制台输出,适合生产环境。各库在日志级别控制、输出格式和适用场景上各有侧重,开发者可根据项目需求选择。文中包含代码示例展示基础用法,更多细节可参考GitHub仓库rust-study。

2025-09-07 12:11:29 1442

原创 Rust 序列化技术全解析:从基础到实战

Rust学习项目GitHub仓库提供全面的Rust学习资源,涵盖基础语法到高级特性,包括Serde序列化框架及其JSON、TOML、INI等格式处理。Serde是Rust生态中高效的序列化/反序列化工具,支持多种数据格式,性能优异但学习曲线较陡。JSON作为通用交换格式易读但体积大,TOML适合配置文件支持丰富数据类型,INI格式简单但功能有限。项目包含实用代码示例,适合不同水平的Rust开发者学习实践。

2025-09-03 10:48:21 1207

原创 Rust解析器组合库Winnow:轻松构建高效文本解析器

Winnow是一个高效的Rust解析器组合库,提供模块化工具构建文本/二进制数据解析器。其核心模块包括: Token模块:提供基础解析函数如any、literal、take等; Combinator模块:通过seq、alt、opt等组合器构建复杂解析逻辑; ASCII模块:专门处理ASCII字符。Winnow采用"从头匹配"原则,支持三步使用流程:添加依赖→构建解析器→运行解析器。该库设计简洁高效,适合处理配置文件、自定义格式等场景,是Rust生态中强大的文本处理工具。相关学习资源可参考

2025-09-02 14:08:44 1101

原创 极速上手:Windows环境下Rust安装全攻略

随着对软件安全性需求的不断增加,Rust 正逐渐成为系统编程领域的首选语言之一。尤其是在需要兼顾性能和安全性的场景下,Rust 展现出了巨大的潜力。无论是传统的系统开发还是新兴的区块链、AI 领域,Rust 都有广阔的应用前景。

2025-04-24 11:12:14 3601

原创 【实战指南】SpringBoot结合Zookeeper/Nacos构建Dubbo微服务

Nacos整合Dubbo能够提供动态服务发现、配置管理和服务治理,简化了微服务间的通信和管理,提升了开发效率和系统可维护性。而Zookeeper与Dubbo结合,利用其分布式协调服务特性,保证了服务注册与发现的高可用性和一致性,增强了系统的稳定性和故障恢复能力。两者皆为Dubbo生态提供了强大的支撑,促进了分布式系统的健壮性和灵活性。

2024-06-19 23:45:46 2379

原创 从零到一,构建坚如磐石的Redis 7高可用集群:全程实录与关键技术详解

使用Docker搭建Redis集群是一种快速便捷的部署方案,通过容器化技术实现多个Redis实例间的协同工作。首先安装并配置Docker环境,接着拉取官方Redis镜像,利用Docker网络创建自定义网络以保证节点间通信。然后,分别运行Redis容器,并在启动时指定不同的端口、配置文件以及数据卷挂载点,确保每个Redis实例独立运行且持久化存储。最后,利用Redis自带的集群管理命令或脚本将各个实例组织成一个集群,通过槽分区(slot sharding)机制分配数据,并设置主从复制和哨兵模式以实现高可用性和

2024-03-09 20:44:59 1960

原创 Redis 7.0版本主从复制机制

Redis 7.0版本的主从复制是一种高可用和数据分发策略,通过配置主节点(Master)和从节点(Slave),主节点将写操作同步至从节点,实现数据备份与冗余。从节点可用于读请求分摊、故障恢复或搭建更复杂的Sentinel集群和Cluster架构,确保数据一致性与服务可靠性。在7.0版本中,主从复制依旧支持部分重同步优化,提高了大规模部署下的性能和稳定性。

2024-03-05 23:03:33 1677 1

原创 Redis7 实现持久化的三种方式

Redis提供了三种持久化方式,分别是RDB(Redis DataBase)持久化、AOF(Append Only File)持久化和混合持久化。RDB持久化:RDB持久化生成的快照文件是一个紧凑压缩的二进制文件,占用空间较小,适用于备份和全量复制等场景。同时,由于快照文件是完整的数据备份,因此恢复速度较快。但是,RDB持久化可能存在数据丢失的风险,因为它只保存了某个时间点的数据快照,无法记录数据的变化过程。

2024-03-03 17:35:52 1466

原创 SpringBoot接入通义千问实现个人ChatGPT

SpringBoot接入通义千问的实践过程,是一个富有挑战和收获的技术之旅

2024-02-03 14:30:57 5962 10

原创 万字讲解新一代分布式任务调度框架Power-job

PowerJob是一个功能强大的分布式任务调度平台,用于构建数据驱动的应用程序。它提供了简单易用的API和可视化的界面,让用户能够轻松地创建、管理和调度任务。本文通过近两万字带你实现PowerJob下载、使用、部署三方面的内容,内容详细、案例简单。

2024-01-18 22:31:48 6207

原创 Windows安装Docker运行中间件(详细)

Docker彻底改变了应用部署的方式,使得应用更加容易地迁移和扩展。通过Docker,我们可以轻松地创建、部署和运行应用程序,而无需担心环境配置和依赖问题。其次,Docker提高了开发效率。

2024-01-09 00:33:02 2445

原创 ShardingSphere数据分片之读写分离

读写分离是一种常见的数据库架构,它将数据库分为主从库,一个主库(Master)用于写数据,多个从库(Slave)进行轮询读取数据的过程。主从库之间通过某种通讯机制进行数据的同步。

2023-12-14 13:30:39 2979 2

原创 Mysql8.0实现主从复制

数据库的主从复制(master-slave replication)是一种数据复制技术,其中一台数据库服务器(主服务器)上的数据变更会复制到另一台或多台数据库服务器(从服务器)上。这种复制可以是同步的或异步的。

2023-12-10 16:30:25 2514 3

原创 ShardingSphere数据分片之分表操作

使用ShardingSphere进行分库分表是一种常见的数据库优化方案,旨在提高数据库的性能和可扩展性。它允许用户将一个数据库拆分成多个数据库,并将一个表拆分成多个表,以分布存储数据。通过ShardingSphere,用户可以更加灵活地管理数据,并实现对数据库的高效访问和控制。然而,使用ShardingSphere进行分库分表也需要考虑一些挑战,如配置复杂、维护困难以及可能的功能限制等。因此,在使用ShardingSphere进行分库分表时,需要仔细评估其适用性和成本效益。

2023-12-08 23:46:35 2755 3

原创 继承JsonSerializer+注解实现自定义数据脱敏方案

数据脱敏是一种重要的数据处理技术,可以保护隐私和数据安全,提高数据处理效率和安全性,同时满足法律法规和合规要求。

2023-11-27 20:17:04 1863

原创 分布式权限认证-Sa-token,So Easy!

Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。

2023-11-26 23:23:09 3435 1

原创 SpringBoot结合Druid实现SQL监控

Druid是一个数据库连接池,具有高效、功能强大、可扩展性好的特点。与DBCP相比,Druid在功能、性能、扩展性方面都更优秀。Druid包括三个部分:基于Filter-Chain模式的插件体系、高效可管理的数据库连接池以及SQLParser。Druid内置了一个功能强大的StatFilter插件可以监控数据库访问性能,清楚知道连接池和SQL的工作情况。

2023-10-19 23:29:22 1908 4

原创 Gateway网关动态路由配置(YAML格式 + JSON格式)

在我们开发微服务系统时,Gateway是必不可少的一个组件,我们可以通过Gateway来转发用户进行的请求,这样就可以隐藏具体系统的信息。YAMLroutes其中第二种和第三种都可以结合Nacos实现动态路由,主要看开发者怎么选择。第二种就是结合Nacos的配置中心,将routes参数下的数据放入到nacos中,我这里使用第三种进行展示,用JSON的格式配置路由信息。

2023-09-23 16:02:59 5773

原创 Sentinel结合Nacos实现配置持久化(全面)

在分布式微服务的开发中,Gateway是必不可少的组件,那么对于服务的配置也会集成到Gateway中,但是我们不能把配置放在内存中,此时就需要结合nacos配置中心来实现配置的持久化了。

2023-09-22 21:21:55 11195 5

原创 你怎么看这MyBatis-flex框架 ?

最近Apache又推出了他们的一个新的ORM框架,感觉他们炒得很厉害,一起来看看吧。

2023-08-09 22:14:56 2297 1

原创 前端:地图篇(一)

百度地图带来的便利是毋庸置疑的。首先,当我们想去某个目的地,但又对附近不熟悉时,导航功能强大。其次,百度地图可以规划最优路线,为我们的出行节省最多的时间。其三,当我们需求某样东西,但没有目的地时,百度地图可以自动匹配周边环境符合我们的需要。最后,安全系数增加。道路各种限制,限速,红绿灯指示,各种施工道路提醒等等。

2023-08-03 22:28:35 6449 3

原创 用最简单的案例带你掌握C++中各种指针

C/C++中的重点内容——指针,直接用最简单的案例带你掌握程序中经常出现的各种指针的用法。

2023-01-08 00:23:49 2107

原创 利用Clion编译器完成C++的头文件与源文件的映射

Java 是基于C/C++编写的,那么Java结合C/C++开发,是否会提升Java程序的性能呢?让我们一起行动起来吧。

2022-12-21 19:15:44 6073 3

原创 SpringBoot很实用的请求过滤器 - FilterRegistrationBean

在日常的开发中,我们的项目可能会被各种各样的客户端进行访问,那么,一些带有意图的朋友,就会利用自己所学的技术进行有目的的访问,那么我们的服务端就不再安全和可靠。

2022-10-08 23:56:56 19176

原创 MySQL模糊查询你只知道LIKE就OUT了

Mysql模糊查询除了LIKE还可以使用其他的三种方式。

2022-09-16 21:01:12 7155

原创 MyBatis-plus实现逆向生成器

使用Mybatis-plus提供的逆向生成器,能让我们在开发中大大的节约建包建类的重复操作,本文详细的介绍了逆向生成器的创建与使用。

2022-08-17 11:34:33 6301 12

原创 Spring Boot配置多数据源的四种方式

在日常的项目中我们的开发都是采用单数据库的模式,但是在高并发的时代,单数据库已经无法承载大数据量的访问,所以就需要使用多个数据库进行对数据的读写分离。

2022-08-14 15:05:26 36324 40

原创 Spring Boot处理跨域的五种方案

SpringBoot处理跨域的五种常用方案

2022-07-24 12:06:44 1890 5

原创 SpringBoot的参数校验器 - Validator

使用框架自带的Validated验证器,能很大程度的简化开发,提高开发效率。

2022-07-13 18:12:22 4819

原创 SpringBoot提供的缓存机制

Spring为我们提供了几个注解来支持Spring Cache。其核心主要是@Cacheable和@CacheEvict。

2022-07-03 21:39:22 1930

原创 SpringMVC实现拦截器的两种方式(详细)

本文介绍了SpringMVC中的两种过滤器的使用,分别是HandlerInterceptor和WebRequestInterceptor,详细的介绍了如何使用这两种过滤器。

2022-05-12 22:05:56 10458 1

原创 MySQL随机读取指定大小的数据量

学校里面常见的答题系统中,在题库中进行随机选择题目的时候,使用SQL的效率会比使用Java代码进行过滤来得更快,本段SQL执行的效率完全能应付百万的数据量

2022-04-17 20:10:20 1699 1

链表+泛型+反射实现自定义的LinkedList集合类

该资源利用基础的链表结构,结合泛型和反射的知识点,实现重写LinkedList集合类,可以存放任意类型数据。比较推荐对Java有稳固基础的同学来阅读,为了方便阅读,代码的注释写的非常的清楚

2021-09-11

贪吃蛇小游戏(IDEA修正2.0版本)

本程序使用Java Swing技术 + Java基础实现游戏的基本功能,对大一学习软件技术开发桌面程序的同学,在程序的构造和设计上有很大的帮助,能让接触Java但由不知道如何程序整合进行设计的同学起到重要的指导作用,看懂本程序能让入门者在程序构思上起到承上启下的作用。

2021-09-11

空空如也

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

TA关注的人

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