- 博客(185)
- 收藏
- 关注
原创 Milvus 向量数据库:原理详解、离线部署、可视化配置与全套实操教程
本文详细介绍了Milvus向量数据库的核心原理、应用场景及部署实践。主要内容包括: 向量数据库概念:专为AI场景设计,支持高维向量相似度检索 Milvus优势:支持万亿级向量毫秒级查询,内置多种高效索引算法 核心应用:RAG知识库、图像检索、个性化推荐等AI场景 离线部署方案:通过Docker镜像离线导入,解决网络访问问题 详细部署步骤:包括环境准备、镜像导入、docker-compose配置等 运维管理:提供可视化工具Attu配置指南 文章提供了从零开始的完整部署教程,包含避坑指南和实操命令,适合作为生产
2026-05-28 16:03:35
418
原创 Windows 配置 Claude Desktop + MCP:让 AI 直接读写本地文件,效率翻倍
Claude Desktop + MCP 本地文件工具的配置,本质上就是让 AI 拥有了“访问本地文件”的权限,看似简单的一步,却能极大提升日常办公和开发效率。整个配置过程不到10分钟,全程复制粘贴,新手也能轻松上手。配置完成后,你会发现 AI 不再是“云端工具”,而是能直接融入本地工作流的助手,处理文件、编辑代码都变得更高效、更便捷。如果你的电脑是 macOS,配置步骤略有不同,后续会再更新 macOS 版本的教程,记得关注哦~ 最后,祝大家都能通过 AI 提升效率,少做重复工作,多做有价值的事!
2026-03-06 14:00:38
3782
原创 Clawdbot/Openclaw一键本地部署+对接飞书
本文介绍了OpenClaw/Clawdbot本地部署及飞书接入的完整流程。主要内容包括:1)安装Node.js、Git等基础环境;2)通过npm安装OpenClaw并进行初始配置;3)详细说明两种飞书插件安装方法(手动安装和自动安装),包括配置参数说明;4)提供飞书机器人对接的完整步骤,包括应用ID/Secret配置、事件订阅设置等;5)附带钉钉对接文档参考。文中包含多个命令行操作指引和配置截图,帮助用户完成从环境搭建到飞书机器人对接的全过程。
2026-03-05 14:13:24
2000
原创 Claude Code 安装部署教程
本文详细介绍了Claude Code本地环境搭建与部署的完整流程。环境要求包括Windows 10/11系统、Git、Node.js 18+等必备组件。安装步骤涵盖:1)Git安装与验证;2)Node.js安装与验证;3)Claude Code全局安装;4)配置文件修改;5)cc-switch工具下载;6)DeepSeek配置演示;7)模型切换使用方法。通过命令行验证各组件安装状态,并提供可视化操作指引,帮助用户完成从环境准备到实际使用的全过程部署。
2026-03-03 14:56:27
1136
原创 Dify的本地部署
Dify 是一款开源的生产级 LLM 应用开发平台(LLMOps),融合后端即服务(BaaS)与 LLMOps 理念,提供一站式、低代码 / 无代码的 AI 应用构建能力,帮助开发者与企业快速搭建、部署、运营基于大语言模型的智能应用。:零代码拖拽式界面,快速构建复杂 AI 流程。:无缝集成 GPT、Llama、Mistral、通义千问等数百种模型。:内置文档解析与检索增强,降低 AI 幻觉。:支持函数调用、ReAct 等,内置 50+ 工具(搜索、绘图等)。
2026-03-01 00:19:18
1653
原创 Spring AI 和 LangChain4j 对比分析
摘要:随着AI技术在企业级应用中的普及,Java生态系统的AI框架需求日益凸显。本文对比分析了两个主流Java开源AI框架——Spring AI和LangChain4j。Spring AI致力于简化AI功能开发,支持多种模型(如聊天、Embedding、图像、语音等)和向量数据库,并具备检索增强生成(RAG)、函数调用及多模态能力。其1.0里程碑版本新增了对Zhipuai Embedding-3等模型的支持。该框架旨在为Java开发者提供高效AI集成方案,推动生成式AI在企业应用中的广泛落地。
2026-02-24 15:01:47
856
原创 Linux系统安装PostgresSQL数据库
因国产化改造需求,很多项目会选择使用以PostgresSQL为基础的国产化替代产品。PostgresSQL是开源关系型数据库,因为其稳定和安全性,以及丰富的数据类型和扩展可以使用,在企业新项目开发中会优先选择使用。下面记录一下PostgresSQL数据库的安装过程供参考。
2026-01-28 15:56:07
724
原创 千万级数据分页慢?四种方案让你告别卡顿
📌 深度分页查询优化指南 问题分析:传统LIMIT分页在千万级数据时性能骤降,原因包括全量扫描、大量排序和回表查询。单表场景下提供四种优化方案: 游标分页(性能稳定但无法跳页) 延迟关联(减少回表次数) 物化视图(预计算聚合数据) 分区表(缩小查询范围) 分库分表挑战:全局排序导致内存溢出,数据倾斜等问题。解决方案包括: 业务妥协(限制查询范围) 两阶段查询(先筛选后精确查询) 搜索引擎(Elasticsearch毫秒级响应) 性能对比显示ES在亿级数据仍保持35ms响应,而MySQL分页在千万级即超时。
2026-01-04 17:40:16
900
原创 IN 和 EXISTS 的区别与使用场景?
IN和EXISTS是SQL中实现多表查询的两种方式,核心区别在于执行逻辑:IN先将子查询结果返回给外层匹配,而EXISTS是外层逐行在子查询中试探。IN适合子查询结果小的场景,能利用子查询索引;EXISTS则在外层表大时更高效,支持相关子查询优化。特别注意,NOT IN存在NULL问题和性能缺陷,应始终用NOT EXISTS替代。实际应用中,小表查询用IN,大表关联用EXISTS,避免使用NOT IN是优化SQL性能的关键准则。
2025-12-29 22:39:04
995
原创 Spring 实现 3 种异步流式接口,干掉接口超时烦恼
文章摘要:针对需要持续输出的场景(如文件生成、AI回答、任务进度推送等),介绍了Spring提供的三种流式输出方案:1)轻量级的ResponseBodyEmitter,适合简单分片输出;2)SSE(SseEmitter),浏览器原生支持的单向实时推送;3)WebFlux(Flux),适用于高并发长连接场景。文章对比了各方案的优缺点和适用场景,并指出网关配置(如关闭nginx缓冲)对实现流式传输的关键作用。通过合理选择流式方案,可有效避免同步接口超时问题,提升用户体验。
2025-12-22 22:12:24
561
原创 SpringBoot实现百万级数据高效导出Excel和CSV实战
本文分享了百万级数据高效导出的完整解决方案。针对传统导出方式导致的内存溢出、响应慢等问题,提出分批查询、流式写入和异步处理的核心思路。技术选型上对比了CSV和Excel的优缺点,推荐使用EasyExcel处理Excel导出。通过代码示例展示了CSV和Excel的分批导出实现,以及异步导出任务管理。最后给出性能优化要点,包括数据库查询优化、内存管理和文件存储策略,并强调异常处理和监控的重要性。这套方案可有效解决大数据量导出的性能瓶颈问题。
2025-12-21 22:08:59
713
原创 SpringBoot + DFA算法:构建高效的敏感词过滤系统
摘要:本文介绍了基于DFA算法的敏感词过滤方案,相比传统暴力匹配和正则表达式,DFA算法通过Trie树数据结构实现高效匹配。DFA具有线性时间复杂度(O(n))、内存优化、动态扩展等优势。文章详细解析了DFA的数学模型和Trie树实现原理,包括前缀共享、状态转移等核心概念,并提供了Java实现的代码示例,展示如何构建Trie树和进行DFA匹配。该方案适用于需要实时过滤敏感词的各种应用场景。
2025-12-18 22:35:42
500
原创 OceanBase的学习详解及安装教程
OceanBase是蚂蚁集团自主研发的国产分布式数据库,在TPC-C和TPC-H测试中多次刷新世界纪录。2023年发布的4.1版本性能显著提升,支持MySQL 8.0兼容等新功能。安装部署简单,可通过all-in-one包快速搭建单机环境。OceanBase具有高可靠、高性能、高扩展等优势,支持全球化部署和多语言接口,安全性强。其与Oracle数据库高度兼容,数据类型、SQL功能等基本一致,PL功能基本全覆盖,降低了用户迁移学习成本。OceanBase已成为真正的通用型企业级分布式数据库解决方案。
2025-12-16 21:59:20
1140
原创 Java 最容易踩坑的 OOM 问题全解析:案例、排查与预防
Java OOM问题分析与解决策略 摘要:本文分析了Java开发中常见的OutOfMemoryError(OOM)问题,重点探讨了三种主要类型:堆内存OOM、方法区OOM和虚拟机栈OOM。通过具体案例演示了各类OOM的产生场景,并提供了详细的排查方法:使用堆转储分析内存泄漏、监控Metaspace使用情况、检查线程栈信息等。文章还给出了预防OOM的通用策略,包括合理配置JVM参数(堆大小、Metaspace限制、线程栈大小)、设置内存快照自动生成机制以及使用APM工具进行监控预警。这些方法可帮助开发者快速定
2025-11-02 21:31:56
699
原创 Docker磁盘满了?这样清理高效又安全
摘要:Docker运行会积累大量临时资源(停止的容器、悬空镜像、缓存等),导致磁盘空间不足。核心解决方案是使用docker system prune命令,可一键清理无用资源,支持可选参数(如-a清理所有未用镜像,--volumes删除数据卷)。使用时需注意安全风险,建议首次交互式执行确认删除内容,生产环境慎用-a和--volumes。清理前后可用docker system df查看磁盘占用变化。定期执行该命令能有效预防磁盘满问题。
2025-11-01 21:30:40
674
原创 Linux 磁盘空间“消失”之谜:文件已删,空间却不释放?
摘要: Linux中删除文件后空间未释放?这是因进程仍占用已删除文件(显示deleted状态)。解决方法: 定位进程:lsof +L1查看占用文件的进程。 释放空间:优雅重启进程(如nginx -s reload)或强制终止(慎用)。 预防措施:使用logrotate轮转日志、避免直接重定向日志、监控未释放文件。 关键命令:lsof +L1 | grep deleted 可快速定位问题进程。
2025-11-01 20:56:00
690
原创 QPS 10 万,任务接口耗时 100ms,线程池如何优化?
接口吞吐量:QPS 高达 100,000(10 万)个任务处理平均耗时:100ms每个请求都需要进线程池执行处理逻辑(比如发通知、写日志、异步落库等)要求整体系统稳定、响应快、资源利用率高如果不加优化,线程池很容易撑爆 CPU 和内存,甚至引发系统雪崩。面对 QPS 10 万、任务耗时 100ms 的高并发场景,线程池优化是重中之重。我们从业务特性出发,结合线程池的核心参数配置,设计了合理的任务分发机制。优化线程池的关键在于:限制并发、提升单线程效率、合理拒绝请求、异步批处理。
2025-11-01 20:44:33
1003
原创 Jmeter压力测试详解:从入门到实战
摘要: 本文介绍了如何使用JMeter进行专业的压力测试,从核心概念到实战步骤。重点包括:(1)压力测试核心指标(吞吐量、响应时间、错误率等);(2)四步搭建基础压测脚本(安装、线程组配置、取样器与监听器);(3)进阶技巧如参数化、动态数据处理、断言验证和分布式测试;(4)结果分析方法与瓶颈定位;(5)避坑指南与最佳实践。文章强调压力测试的目的是发现系统瓶颈、优化性能并保障稳定性,而非单纯追求高并发数字。
2025-11-01 20:30:53
1005
原创 linux自动分区后devmappercentos-home删除后合并到其它分区上
因为释放了 home卷组所占用的硬盘,所以vg卷组有了剩余的容量。删除其他分区,合并到对应分区上增加磁盘空间。删除执行成功磁盘容量已经全部都在/ 目录下。添加到 /root卷组中。linux自动分区后。
2025-01-14 14:15:45
541
原创 RocketMQ、Kafka、RabbitMQ,如何选型?
分布式、微服务、高并发架构中,消息队列(Message Queue,简称MQ)扮演着至关重要的角色。消息队列用于实现系统间的异步通信、解耦、削峰填谷等功能。目前常见的MQ实现包括RabbitMQ、RocketMQ和Kafka。RocketMQ、Kafka、RabbitMQ如何选择?
2025-01-13 22:21:33
2744
1
原创 MySQL 中删除重复数据 SQL 写法
要在 MySQL 中删除重复的数据并只保留一条,可以使用下面的方法(要用的时候直接复制小改下条件和表名称即即可)
2025-01-11 22:59:03
1034
原创 实现高并发秒杀的 7 种方式
一、二方式是在代码中利用锁和事务的方式解决了并发问题,主要解决的是锁要加载事务之前三、四、五方式主要是数据库的锁来解决并发问题,方式三是利用for upate对表加行锁,方式四是利用update来对表加锁,方式五是通过增加version字段来控制数据库的更新操作,方式五的效果最差六、七方式是通过队列来解决并发问题,这里需要特别注意的是,在代码中不能通过throw抛异常,否则消费线程会终止,而且由于进队和出队存在时间间隙,会导致商品少卖上面所有的情况都经过代码测试,测试分一下三种情况:
2025-01-11 22:51:00
1318
原创 异步调用实践:Async,Future, TaskExecutor、EventListener
在Spring Boot中,实现异步调用可以通过多种方式,包括@Async注解、、自定义以及结合进行异步事件处理。每种方式都有其适用场景和优缺点,开发者应根据实际需求选择最合适的方法。同时,使用异步调用时需要注意线程安全、异常处理以及合理配置异步。
2024-08-12 22:21:26
950
原创 什么是熔断降级?说 4 种解决方案
在复杂的微服务架构中,一个服务的故障可能会导致整个系统的崩溃,从而造成连锁反应。通过实施熔断降级机制,系统可以在服务发生故障时将故障隔离,防止它扩散到其他服务或组件,从而保护整个系统的稳定性。
2024-06-15 22:40:20
2090
原创 为什么MySQL需要binlog、undo log、redo log 3种日志?
在正式进入主题之前,我们先看一张 MySQL的架构示意图:上述示意图中的红色字体:binlog、undo log、redo log 就是我们今天的主角。binlog是 server层生成的日记,而 undo log、redo log 是Innodb 存储引擎层生成的日志undo log(回滚日志):是 Innodb 存储引擎层的逻辑日志,实现了事务中的原子性,主要用于事务回滚和 MVCC。
2024-06-02 23:32:21
843
原创 Redis 为什么这么快?
本文从数据结构、网络模型、持久化机制和内存管理等多个角度分析了 Redis 的高性能原因。正是这些优秀的设计理念和实践,使得 Redis 成为了一款高性能的内存数据库,受到了越来越多开发者的青睐。希望本文对您了解 Redis 的高性能原理有所帮助。
2024-06-02 22:36:42
944
原创 Nginx 七大应用场景(附配置)
应用场景7:基于请求路径转发不同服务。应用场景6:手机端重定向PC端。应用场景2:反向代理。应用场景3:负载均衡。
2024-05-20 21:41:03
626
原创 Hystrix从入门到源码分析
Hystrix 通过这些核心类和接口实现了断路器模式,提供了线程池隔离、请求缓存、服务降级等功能。每个命令在执行时都会被封装为一个 HystrixCommand 实例,并在一个独立的线程池中执行。CircuitBreaker 根据 HystrixCommandMetrics 提供的度量数据来决定是否跳闸。这些组件协同工作,确保了分布式系统在面对服务故障和延迟时的健壮性和弹性。
2024-04-19 22:42:24
1174
原创 微服务鉴权的几种实现方案
刚开始接触微服务时网上给的方案大都数是通过透传Token做鉴权,但我认为这种方式不是很妥当。接着往下看:这种方式通过透传Token使得各微服务都能获取到当前登录人信息,在代码编写上确实可能会方便,但我认为这不是一种很好的设计方式。换句话说:B服务提供API时不因该关心当前是否为登录状态,登录状态应该由路由中的第一个服务校验维护,在调用后续服务时应该显示的传入相关参数。
2024-03-23 22:20:19
2383
原创 Linux下最常用的MySQL运维脚本
MySQL数据库的运维工作需要一系列的操作,包括性能优化、备份、复制管理、版本升级、权限管理、安全性和自动化。通过编写适当的脚本,可以更高效地管理和维护MySQL数据库,确保其稳定性和安全性。本文提供了更多的示例代码和详细说明,以帮助深入了解如何使用脚本进行MySQL运维。
2024-03-16 22:32:31
1450
1
原创 常用负载均衡详解
在互联网场景下,负载均衡(Load Balance)是分布式系统架构设计中必须考虑的一个环节,它通常是指将负载流量(工作任务、访问请求)平衡、分摊到多个操作单元(服务器、组件)上去执行的过程。目的在于提供负载配比,解决性能、单点故障(高可用)和扩展性(水平伸缩)等问题。
2024-03-16 20:42:43
2066
原创 SpringBoot 整合 Kafka 实现千万级数据异步处理
在之前的文章中,我们详细的介绍了的架构模型,在集群环境中,可以通过设置分区数来加快数据的消费速度。光知道理论可不行,我们得真真切切的实践起来才行!下面,我将结合生产环境的真实案例,以SpringBoot技术框架为基础,向大家介绍的使用以及如何实现数据高吞吐!
2024-03-13 23:07:37
3164
原创 SpringBoot 中实现订单30分钟自动取消的策略
以上三种方案都可以实现订单在30分钟内未支付则自动取消的需求。根据实际业务需求、系统负载和其他因素,可以选择最适合自己系统的实现方案。每种方案都有其优缺点,需要根据具体情况权衡。
2024-03-13 21:35:03
677
原创 这些年背过的面试题——SpringMVC篇
SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。
2024-03-12 22:43:16
1002
原创 二叉树遍历详解
从根节点往下查找,先找左子树、直至左子树为空(左子节点逐个入栈、直至左子节点为空),再找右子树(出栈找右子节点)前序遍历:根左右,第一次经过节点即打印,直到打印null,往回溯,打印右子树中序遍历:左根右,第二次经过该节点时进行打印,即左边回溯时后序遍历:左右根,第三次经过该节点时进行打印,即右边回溯时层序遍历:按照层级,从上往下,从左到右。使用广度优先搜索算法。
2024-03-10 21:11:59
511
原创 MQ如何防止消息被重复消费?
被询问如何防止MQ消息被重复消费时,其实是在考察候选人对消息队列、分布式系统设计以及容错机制的理解,通过这些问题,可以全面了解候选人在处理MQ消息重复消费问题时的思考方式、技术能力和实践经验,从而评估其是否适合担任相关岗位。
2024-03-03 20:48:37
4413
原创 ThreadLocal 为什么会内存泄漏吗?是怎么产生的?
ThreadLocal是一个本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射,各个线程之间的变量互不干扰,在高并发场景下,可以实现无状态的调用,特别适用于各个线程依赖不通的变量值完成操作的场景
2024-03-02 03:30:00
1143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅