- 博客(172)
- 资源 (2)
- 收藏
- 关注
原创 知识点总结(一)
1. 谷粒商城–环境搭建–笔记一1.1 修改CentOS默认yum源为国内yum镜像源1.2 CentOS安装docker1.3 docker常用命令1.4 配置 docker 镜像加速1.5 docker安装mysql5.71.6 docker安装redis1.7 开发环境统一(maven,Idea&VsCode插件,git配置)2. 谷粒商城–注册中心配置中心及网关–笔记二2.1 nacos注意(启动单节点)2.2 结合 SpringCloud Alibaba 我们最终的
2022-03-18 10:14:30
4267
原创 Docker 安装 数据库工单系统Yearning以及使用
Yearning是一个本地化部署的SQL审计平台,专为DBA和开发人员设计,提供SQL检测、查询审计和权限管理功能。文档详细介绍了其核心功能包括AI助手优化SQL、审计工单审批流程、查询审计记录和RBAC权限控制。部署部分提供了Docker初始化及运行的具体命令,包括环境变量配置和数据库设置。使用指南涵盖工单提交审核流程,从创建数据源、设置权限组到提交DML/DDL工单并完成多级审批。该平台支持MySQL和PostgreSQL,强调隐私保护和操作可追溯性,适合企业级数据库管理需求。
2026-05-07 14:10:08
171
原创 Navicat libcc.dll没有被指定在Windows上运行,错误状态0xc0e90002。
摘要:Navicat突然报错0xc0e90002提示缺失libcc.dll文件,解决方案是关闭Windows的"智能应用控制"功能。若仍无法解决,则可能是真正缺失该dll文件,需进一步排查。具体操作步骤为:在Windows中搜索并关闭智能应用控制功能后重新打开Navicat即可正常使用。(99字)
2026-04-27 16:22:54
33
原创 Vue + ECharts 实现价格趋势分析图
本文介绍了使用Vue+ECharts实现价格历史趋势图的方法。通过封装可复用的Vue组件,实现了数据获取、处理和可视化展示功能。组件支持真实API数据或模拟数据两种模式,包含数据预处理(时间取整、去重排序)、图表初始化、错误处理等核心逻辑。文章重点讲解了如何对原始数据进行规范化处理,以及通过ECharts配置实现交互式趋势图展示,为后台系统数据分析提供了实用的可视化解决方案。
2026-04-09 14:59:23
372
原创 Spring Boot 3.3 + Atomikos 分布式事务日志路径配置踩坑记录
摘要: 在使用Spring Boot 3.3+Atomikos实现分布式事务时,多模块项目的事务日志文件(tmlog)默认生成在项目根目录,导致多个模块日志混在一起。尝试通过自定义TransactionManagerConfig Bean和YAML配置均未解决。最终解决方案是: 删除自定义配置类,完全使用Spring Boot自动配置 在application.yml中配置atomikos事务日志路径,利用${spring.application.name}区分各模块 为每个模块设置不同的服务名称,使日志文
2026-03-30 11:14:44
397
原创 构建一个 Vue 基于el-input的磨损区间选择器组件 —— WearRangeSelector
本文介绍了一个用于处理数值区间输入的Vue组件WearRangeSelector。该组件包含两个输入框,分别绑定最小值和最大值,支持双向数据绑定和输入校验。主要功能包括:自动校验输入是否为数字、最小值不能大于最大值、回车触发搜索、以及优化视觉样式使两个输入框连成整体。组件采用Element Plus的el-input,通过v-model.trim去除首尾空格,中间用"至"字分隔,并提供了完善的错误提示和事件回调机制。该组件可复用性强,适用于价格区间、日期区间等场景,有效减少了重复校验逻辑
2026-03-26 16:43:41
363
原创 如何把 Git 分支上的特定提交移动到另一个分支
本文介绍了使用Git的cherry-pick命令将特定提交从一个分支迁移到另一个分支的方法。通过命令行和IDEA图形界面两种方式演示操作步骤,包括查看提交记录、选择目标提交、处理冲突等关键环节。文章对比了cherry-pick和rebase两种方法的优缺点,建议少量提交使用cherry-pick,连续提交使用rebase,并特别提醒要排除merge commit以避免问题。最后强调后续合并时可能产生的冲突及解决方案,为开发者提供了实用的版本控制操作指南。
2026-03-06 13:42:05
296
原创 for 循环也会打爆接口?Guava RateLimiter 对外部接口限流的正确使用姿势
本文介绍了如何使用Guava的RateLimiter工具实现接口请求速率控制。针对批量获取商品价格时接口有每秒3次调用限制的问题,文章详细讲解了RateLimiter的令牌桶算法原理、两种获取方式(阻塞式acquire和非阻塞tryAcquire)的使用场景,并对比了与Thread.sleep的区别。RateLimiter适用于单JVM内的限流场景,能以极低成本保证系统稳定性,是处理外部接口调用限制的高效解决方案。
2026-02-06 15:13:38
685
原创 开发Typing Novel IntelliJ 插件开发全流程:从创建到发布
本文介绍了开发IntelliJ IDEA插件的基本流程,重点针对2025+版本的新变化。文章详细讲解了项目创建、技术选型(使用IntelliJ Platform Gradle Plugin 2.x和JDK 21)、开发环境配置等步骤,并提供了一个简单的Hello World插件实现示例。作者分享了在Java/Kotlin混用、菜单注册等环节的实践经验,项目代码已开源在Gitee平台。
2026-01-26 16:38:07
976
原创 JDK21-虚拟线程(实战)
摘要:本文探讨了系统从多个第三方平台并发获取账户余额的优化方案。传统顺序执行方式存在总耗时长、线程阻塞和扩展性差等问题。针对IO密集型任务特性,提出了基于JDK 21虚拟线程的并发解决方案,通过为每个平台/账号创建虚拟线程,利用CountDownLatch同步任务,实现非阻塞并发执行。实验表明,该方案能显著提升系统吞吐量,有效解决顺序执行导致的性能瓶颈问题。
2026-01-22 16:25:56
721
原创 JDK21-虚拟线程(原理)
摘要: 虚拟线程通过JVM拦截IO操作,将阻塞逻辑从OS转移至JVM层。其核心机制是Continuation——可挂起的执行体,在IO等待时保存栈状态并释放底层OS线程(Carrier Thread),仅在需要CPU时短暂占用。相比传统线程1:1绑定OS线程的模型,虚拟线程在IO等待期间完全卸载,使少量OS线程可支撑数万并发任务。JDK改造了IO API以实现透明拦截,开发者无需修改同步代码即可获得性能提升,典型场景下并发能力可提高百倍。
2026-01-22 16:23:16
692
原创 解决 Git 提交大文件导致 Push 被拒绝的问题
摘要: 本文解决Git推送时因历史提交包含大文件(如jar包)导致失败的问题。首先通过git rev-list命令排查大文件,然后提供两种清理方案:1)git rm --cached删除最新提交的大文件;2)git filter-branch彻底清除历史记录中的大文件(需强制推送)。同时强调预防措施:配置.gitignore忽略target目录和临时文件,或使用Git LFS管理必要的大文件。适用于因二开项目缺失.gitignore或误提交大文件的情景。
2025-12-09 18:00:31
1395
原创 Spring Boot 客户端设计示例:自动刷新 Token 并重试接口调用(Springboot Starter 封装)
本文介绍了一个通用的IM系统客户端设计方案,重点解决外部接口调用中的Token管理问题。方案通过IMTokenManager类实现Token的缓存、自动刷新和失败重试机制,核心功能包括:1)使用Redis缓存Token并设置合理过期时间;2)采用分布式锁防止并发刷新;3)接口调用失败时自动重试;4)支持强制刷新Token。配置类ImAuthProperties集中管理认证参数,通过YAML文件灵活配置。该方案可有效提升系统稳定性,减少因Token失效导致的接口调用失败,且具有通用性,可适配其他需要Token
2025-12-03 17:03:21
1407
原创 MyBatis Plus 分批查询优化实战:优雅地解决 IN 参数过多问题(实操)
📝 摘要: 针对MyBatis Plus批量查询中大数据量IN语句导致的SQL超长、性能下降问题,提出分批查询解决方案。通过设置batchSize(如1000条/批),循环执行子查询并合并结果,有效规避数据库限制。实测显示:万级数据量下,分批查询耗时仅600ms且无报错,而单次IN查询会直接失败。优化建议包括结合Redis缓存、异步处理及动态调整batchSize。该方案以简单代码改动显著提升系统健壮性,是处理大批量IN查询的高效实践。
2025-12-01 11:16:36
2190
原创 在 CentOS 系统上使用安装并用alternatives切换 JDK17(与 JDK8 共存指南)
本文介绍了在CentOS系统上实现JDK8与JDK17多版本共存的方法。首先通过wget下载JDK17安装包并解压到/opt目录,然后使用alternatives工具注册JDK17并设置优先级。通过alternatives --config命令可以自由切换Java版本,同时配置JAVA_HOME环境变量指向当前使用的JDK版本。文章还演示了如何验证安装结果,并提供了切换回JDK8的具体步骤。这套方案使开发者能够根据不同项目需求灵活切换Java版本,实现多JDK版本的无冲突共存。
2025-12-01 11:07:26
2098
原创 设计模式-代理模式
本文介绍了三种Java代理模式的实现方式:静态代理、JDK动态代理和CGLIB动态代理。静态代理通过创建代理类实现目标接口,在方法调用前后添加额外逻辑。JDK动态代理利用反射机制,实现InvocationHandler接口创建代理对象。CGLIB通过继承方式实现代理,需要引入Spring-core依赖来解决JDK17的兼容问题。三种方式都能在不修改原始类的情况下增强功能,如权限检查、日志记录等,展示了AOP编程思想的实现路径。
2025-11-06 17:06:21
2837
原创 设计模式-工厂模式
本文介绍了三种常用的工厂设计模式:简单工厂、工厂方法和抽象工厂。简单工厂通过一个工厂类根据参数创建不同产品,结构简单但不灵活;工厂方法将对象创建延迟到子类实现,更具扩展性;抽象工厂用于生产一组相关产品,适合大型系统中的成套产品生产。每种模式都配有Java代码示例,演示了如何定义产品接口、实现具体产品类以及对应的工厂类结构。这些模式提供了不同的对象创建方式,可根据实际场景选择合适的模式。
2025-11-06 09:14:55
2915
原创 设计模式-单例模式
本文对比了六种单例模式的实现方式,通过表格清晰呈现了它们在懒加载、线程安全、性能和推荐程度上的差异: 饿汉式:线程安全、性能最好但不支持懒加载 2.懒汉式:支持懒加载但线程不安全 3.同步懒汉式:线程安全但性能差 4.DCL双重检查:线程安全、懒加载且性能高(需要volatile防止指令重排) 5.静态内部类:最佳推荐方案(线程安全、懒加载、高性能) 6.枚举:绝对线程安全但不支持懒加载 重点分析了DCL模式中volatile的必要性(防止指令重排导致获取未初始化对象)和静态内部类的优势(利用JVM类加载机
2025-11-05 11:21:10
3013
原创 MongoDB基本使用(包含工具类)
MongoDB是一个文档型数据库,以BSON格式(类JSON)存储数据,具有无固定schema、弱结构和灵活扩展的特点。文章介绍了MongoDB核心概念、与MySQL的对比,以及通过Docker快速部署MongoDB的方法。在Spring Boot集成方面,详细讲解了MongoRepository和MongoTemplate两种操作方式的特点与适用场景,并提供了完整的代码示例,包括实体定义、CRUD操作和测试案例。
2025-11-03 15:42:35
2975
原创 Windows 下 ComfyUI + Comfy CLI + PyTorch(CUDA)完整源码安装教程
本文详细介绍了ComfyUI的安装配置流程。首先从GitHub下载源码并安装Python 3.12.9版本,验证pip版本后通过comfy-cli脚手架完成ComfyUI安装。针对常见的PyTorch+CUDA兼容性问题,提供了驱动检查、PyTorch重装等解决方案。最后说明需要手动下载模型文件到指定目录才能正常使用。整个安装过程包含环境配置、依赖安装、GPU加速调优等关键步骤,帮助用户快速搭建ComfyUI开发环境。
2025-10-31 17:55:10
3764
原创 Windows WSL Docker Desktop 安装RocketMQ5.3.1以及rocketmq-console
摘要: Windows WSL环境下Docker Desktop部署RocketMQ时,生产者无法发送消息的问题源于Broker返回容器内网地址(172.17.0.3),导致宿主机(192.168.2.32)无法访问。解决方案是通过创建broker.conf文件显式指定brokerIP1为宿主机IP,并修改docker-compose.yml挂载配置。启动后通过RocketMQ Dashboard验证Broker地址已更新,最终通过Java生产者示例测试消息收发功能正常。关键步骤包括配置网络映射和正确设置N
2025-10-30 15:26:22
2723
原创 SpringBoot + 百度内容安全实战:自定义注解 + AOP 实现统一内容审核(支持文本 / 图片 / 视频 + 白名单 + 动态开关)
本文介绍如何构建企业级内容审核中间层,支持文本、图片、视频审核。通过自定义注解+AOP实现非侵入式校验,集成百度内容安全API进行敏感内容检测。架构包含三层拦截:Controller→AOP切面→百度审核接口。核心功能包括动态配置审核开关/白名单、精准违规定位、多类型内容支持。提供了完整代码实现,包括自定义注解@ContentCheck、百度审核工具类BaiduCheck和核心切面MyValidAspect,实现从架构设计到落地的完整解决方案。
2025-10-28 16:40:22
2582
原创 问题排查记录(清理 Docker 无用资源)
项目启动失败问题排查与Docker清理方案 问题排查发现项目启动失败是由于IM服务调用异常,进一步检查发现Redis报错RDB写入失败。经查证,服务器磁盘空间被Docker的Build Cache和Overlay2文件占满(占用66.87GB)。通过执行docker builder prune -f命令精准清理未使用的构建缓存,成功释放空间。该方案相比全面清理更安全,既解决了磁盘空间问题,又避免了影响现有容器服务。清理后只需重启受影响服务即可恢复系统正常运行。
2025-10-24 10:00:47
2626
原创 开始构建 Spring AI Alibaba-智能体
Spring AI Alibaba官方社区发布了Playground智能体示例,提供完整的前后端系统,支持聊天、多轮对话、图像生成、文档总结等核心AI功能。开发者可通过Docker快速部署,默认需配置阿里云百炼API-KEY,还可选配百度翻译、地图API等扩展功能。项目支持源码启动调试,允许自定义修改后重新构建Docker镜像。该Playground可作为AI应用开发模板,帮助开发者快速体验和集成各类AI能力。
2025-10-22 09:21:44
2574
原创 开始构建 Spring AI Alibaba-聊天机器人
本文介绍了使用Spring AI Alibaba集成阿里云大模型服务的开发流程。开发环境要求JDK 17+,基于Spring Boot 3.x。首先需要在阿里云百炼平台申请API-KEY并配置到项目中。通过添加spring-ai-alibaba-starter-dashscope依赖,项目将自动初始化ChatClient等实例。在Controller中注入ChatClient后,即可实现与大模型的智能对话功能。示例代码展示了如何构建ChatClient实例,并支持添加日志记录等扩展功能。整个开发流程遵循Sp
2025-10-20 15:54:53
2729
原创 Spring AI Alibaba 概览
Spring AI Alibaba是基于Spring AI框架的增强版AI开发平台,深度集成阿里云百炼平台,提供三大核心能力:1)Graph多智能体框架,支持工作流和智能体应用的快速开发;2)企业级AI生态集成,包括模型接入、RAG知识库、监控等解决方案;3)自主规划的JManus智能体平台探索。该框架既兼容Spring AI标准接口,又针对国内企业需求扩展了通义千问、向量检索、多智能体协作等功能,通过Nacos、Higress AI等组件实现企业级落地,为开发者提供从低代码到零代码的智能体开发方案。
2025-10-20 15:52:38
2489
原创 el-table-column show-overflow-tooltip 只能显示纯文本,无法渲染 <p> 标签
本文介绍了如何让el-table-column悬浮提示支持多行HTML文本。默认的show-overflow-tooltip只能显示纯文本,无法渲染HTML标签。解决方案是自定义tooltip:使用el-tooltip组件,在表格单元格中显示纯文本(超出部分省略),在tooltip中通过v-html指令渲染原始HTML内容。这样既能保持表格整洁,又能在悬浮时完整显示富文本格式的内容。
2025-10-17 09:21:36
2232
原创 navicat 连接mongoDB部分数据库看不到解决方案
【摘要】用户在编辑数据库连接时遇到显示异常:系统显示有4个数据库但打开后仅显示1个。
2025-10-11 10:00:29
2182
原创 Radar风控引擎部署,模型配置以及使用
摘要:Radar是一款基于Java的轻量级实时风控引擎,采用SpringBoot+MongoDB+Groovy+ES等技术栈,专为反欺诈场景设计。其核心特点包括100ms内实时响应、可视化规则编辑器、中文支持、插件化架构等。项目通过规则引擎实现风险量化与集中管理,解决传统业务代码耦合风控逻辑的痛点。系统采用前后端分离架构,后端基于SpringBoot生态,前端使用React。部署支持Docker容器化,需配置Redis、MongoDB和Elasticsearch等依赖服务。
2025-10-10 17:16:33
2821
原创 Apring Ai 和Spring Ai Alibaba有什么区别
Spring AI 与 Spring AI Alibaba 是互补的 AI 接入解决方案。Spring AI 由 Spring 官方提供,为 Java 开发者提供统一的 AI 抽象层,支持 OpenAI、HuggingFace 等国际主流模型。Spring AI Alibaba 是阿里基于 Spring AI 的扩展,专注于适配通义千问等国产大模型,更适合国内合规需求。两者可以共存,通过不同配置切换国内外模型调用,开发者仍使用统一的 ChatClient 接口。Spring AI 提供基础框架,而 Spri
2025-09-26 10:51:20
3541
原创 IDEA 实现SpringBoot热部署(HotSwap和DevTools混用)
HotSwap 与 Spring Boot DevTools 对比及混用指南 HotSwap(基于JVM字节码替换)适用于方法体代码修改,无需重启但支持范围有限;DevTools通过类加载器隔离实现快速重启,支持全局代码、配置及静态资源更新。两者可互补使用: 配置:IDEA启用HotSwap,项目添加DevTools依赖。 使用:小改动(方法逻辑)通过Build Project触发HotSwap即时生效;大改动(类结构)由DevTools自动重启兜底;静态资源修改直接刷新。 优化:调整DevTools排除项
2025-09-26 10:41:16
3734
原创 备份某个目录下的所有文件到备份目录(日期_当天备份次数格式的目录)如20250925_1,并删除超过7天的备份
本文介绍了一个Linux备份脚本backup.sh的实现方法。该脚本将指定目录的文件备份到日期格式命名的子目录(如20250925_1)中,并自动删除超过7天的旧备份。主要内容包括:1)使用date命令生成日期格式的备份目录;2)通过cp命令执行备份操作;3)利用find和日期计算删除过期备份;4)补充说明如何通过chmod命令赋予脚本执行权限。该脚本实现了自动化备份和过期清理功能,适合定期执行的数据备份需求。
2025-09-25 11:52:04
2316
原创 阿里云云效将本地的maven相关文件批量推送到阿里云仓库以及使用
本文介绍了使用阿里云制品仓库管理Maven依赖的完整流程:1)创建Maven仓库;2)配置拉取/推送设置,支持下载setting.xml和查看脱敏数据;3)批量上传本地依赖包,包括下载迁移工具和运行迁移脚本;4)验证上传结果,在仓库列表中查看已上传的依赖包。整个过程详细说明了从本地Maven仓库迁移到阿里云制品仓库的操作步骤,包括必要的参数配置和工具使用方法。
2025-09-25 11:25:50
2431
原创 Java 中 StopWatch的使用与 System.currentTimeMillis() 的区别
本文对比了Java中两种统计方法耗时的工具:System.currentTimeMillis()和Spring的StopWatch。前者是JDK原生方法,简单易用但功能有限,仅适合单段耗时统计;后者支持多任务分段计时,能生成详细报告,精度更高且可读性更好。StopWatch特别适合性能调优和分步骤统计场景,而currentTimeMillis()则适用于简单快速的耗时验证。根据实际需求,开发者可灵活选择这两种工具进行性能分析。
2025-09-25 10:26:45
2422
原创 ThreadLocal在多线程中传递上下文InheritableThreadLocal
在 Java 多线程编程中,ThreadLocal 作为一个重要的工具,允许每个线程维护独立的变量副本。然而,默认的 ThreadLocal不会被子线程继承,这在一些场景下会带来问题。为了解决这个问题,Java 提供了 InheritableThreadLocal,它允许 子线程自动继承父线程的变量。本文将深入探讨 InheritableThreadLocal 的使用场景、实现原理及注意事项。
2025-03-03 17:10:38
3163
原创 Springboot RabbitMQ 消费失败消息清洗与重试机制
方案作用数据库存储失败消息记录失败原因,方便排查延迟队列避免瞬时失败,允许重试最大重试次数防止死循环消费死信队列彻底失败后进入死信队列,人工干预这样,我们就可以保证 RabbitMQ 消息消费的高可用性,同时避免消息丢失和死循环消费的问题。🚀🚀🚀。
2025-02-14 13:56:39
3324
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅