自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(150)
  • 问答 (1)
  • 收藏
  • 关注

原创 jenkins流水线(jenkinsfile)详解,保姆式教程

Pipeline 即流水线,是 jenkins2.X 的新特性,是 jenkins 官方推荐使用的持续集成方案。与传统的自由风格项目不同,它是通过 jenkins DSL 编写代码来实现。相比于之前用户只能通过 Web 界面进行配置的方式来定义 Jenkins 任务,现在通过使用 jenkins DSL 和 Groovy 语言编写程序,用户可以定义流水线并执行各种任务。......

2022-08-11 11:03:34 52201 15

原创 Git使用详解全图文(基于gitee),看这一篇就够了

git使用详解全图文(基于gitee),看这一篇就够了Git又名分布式版本控制系统:分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。Git易于学习, 占用空间小,性能快如闪电。它优于 SCM 工具,如 Subversion、CVS、Perforce 和 ClearCase,具有廉价的本地分支、方便的暂存区域和 多个工作流等功能。

2022-04-17 22:32:54 14745 5

原创 【开源、教程】RAG全流程实现(接口限流:令牌桶 + AOP):第三弹

限流的核心是**控制访问速率**。你可以把它想象成一个景区的入口: - **不限流**:黄金周所有游客一拥而入,景区内部严重拥堵,甚至有踩踏和设施损坏的风险。 - **限流**:门口售票处控制每分钟只放行100人。虽然外面排起了长队,但里面的游客体验是安全、顺畅的。

2026-06-18 10:15:32 179

原创 【开源、教程】RAG全流程实现(接入飞书WIKI):第二弹

RAG(检索增强生成)是一种结合信息检索与大语言模型的技术。它先根据用户查询从外部知识库(如文档、数据库)中检索相关片段,再将检索结果与原始问题一同输入模型生成答案。这有效缓解了模型幻觉、知识过时等问题,并能引用具体来源提升可信度。RAG广泛应用于问答、客服等需实时或专业知识的场景,无需重训练即可更新知识,兼具准确性与灵活性。

2026-06-11 18:01:26 292

原创 【开源、教程】RAG全流程实现(java+完整代码):第一弹

RAG(检索增强生成)是一种结合信息检索与大语言模型的技术。它先根据用户查询从外部知识库(如文档、数据库)中检索相关片段,再将检索结果与原始问题一同输入模型生成答案。这有效缓解了模型幻觉、知识过时等问题,并能引用具体来源提升可信度。RAG广泛应用于问答、客服等需实时或专业知识的场景,无需重训练即可更新知识,兼具准确性与灵活性。

2026-06-09 17:43:45 264

原创 手把手教你搭建NEW API 云服务器+CLI Proxy API(CPA)+NEW API+Docker+Nginx+Cloudflare+SSL+域名配置 保姆级教程

非常感谢各位佬友对我之前文章的认可,既然大家对此类的文章比较感兴趣,恰巧我也研究过,所以继续给大家带来一个搭建NEW API的教程

2026-05-09 16:32:05 3057 3

原创 拒绝token焦虑 cpa(CLI Proxy API)反代 chatgpt(Codex) 保姆级全图文教程

一个为 CLI 提供 OpenAI/Gemini/Claude/Codex 兼容 API 接口的代理服务器。现已支持通过 OAuth 登录接入 OpenAI Codex(GPT 系列)和 Claude Code。您可以使用本地或多账户的CLI方式,通过任何与 OpenAI(包括Responses)/Gemini/Claude 兼容的客户端和SDK进行访问。

2026-05-06 17:02:28 7005 5

原创 我用Claude Code做了一个TTS的文本转语音工作台(免费、已开源)(Claude Code保姆级图文配置+使用教程+中转站)(MiMo-V2-TTS教程)

Claude Code 是一个代理编码工具,可以读取你的代码库、编辑文件、运行命令,并与你的开发工具集成。可在终端、IDE、桌面应用和浏览器中使用。Claude Code 是一个由 AI 驱动的编码助手,可以帮助你构建功能、修复错误和自动化开发任务。它理解你的整个代码库,可以跨多个文件和工具工作以完成任务。

2026-03-23 20:06:36 1032

原创 使用Ollama运行本地模型,模型参数选择(保姆级图文讲解)

Ollama 是一个开源工具,让你能在本地电脑上轻松运行大型语言模型(如 Llama 3、DeepSeek、Qwen 等)。它简化了 AI 模型的部署和使用过程,无需依赖云端服务。

2026-03-17 21:29:58 3453

原创 本地部署国产openclaw(CoPaw)(保姆级图文讲解)

**CoPaw** 的全称是 **Co Personal Agent Workstation**,可以理解为“协同个人智能体工作站”。它是一个开源的桌面端AI助手框架,你可以把它看作一个强大的“AI助理底座”

2026-03-03 16:29:36 15272 16

原创 动态线程池+kafka自定义拒绝策略,做到任务不丢失

本文介绍了基于动态线程池和Kafka自定义拒绝策略实现任务不丢失的方案。项目采用JDK8开发环境,使用Nacos和Kafka作为中间件,其中Nacos用于实现线程池参数的动态配置,Kafka则作为任务持久化存储保证任务不丢失。

2025-12-22 00:39:46 742

原创 自定义注解实现 Redis Stream 消息监听

redis stream 在实时聊天室、游戏状态同步、轻量级任务队列用作中间件性能也较为不错kafka 有注解(@KafkaListener)就可以实现kafka的消息监听,但是 redis stream 却没有相对于的组件那么就我们就亲手搭建一个用于 redis stream 监听的注解吧(@RedisStreamListener)

2025-11-10 16:14:34 902

原创 paxos一致性算法(大白话+图解)

Google Chubby的作者Mike Burrows说过这个世界上只有一种一致性算法,那就是Paxos,其它的算法都是残次品。在常见的分布式系统中,总会发生诸如机器宕机或网络异常(包括消息的延迟、丢失、重复、乱序,还有网络分区)等情况。Paxos算法需要解决的问题就是如何在一个可能发生上述异常的分布式系统中,快速且正确地在集群内部对某个数据的值达成一致,并且保证不论发生以上任何异常,都不会破坏整个系统的一致性。

2025-10-13 23:06:46 1154

原创 React+antd实现监听localStorage变化多页面更新+纯js单页面table模糊、精确查询、添加、展示功能

本文提出一种基于React和antd的解决方案,通过自定义Hook useLocalStorage结合storage和CustomEvent实现跨标签页和同标签页的localStorage监听同步。方案封装工具类处理数据存取,无需额外依赖包,避免轮询性能问题。关键点包括:跨标签页通过storage事件监听,同标签页使用CustomEvent通信,配合useRef优化回调,并实现监听器清理防止内存泄漏。附带纯JS表格查询示例展示基础CRUD操作,适用于多组件/多页面共享存储状态的React应用场景。

2025-09-17 15:02:04 455

原创 Docker Desktop 安装 Linux(告别传统的虚拟机VMware)

Windows系统上使用Docker Desktop安装和运行CentOS 7容器,以替代传统的VMware虚拟机方案。内容包括Docker Desktop和WSL2的安装配置、国内镜像源设置,以及CentOS 7镜像的拉取和容器启动步骤。重点讲解了在容器内安装配置SSH服务,并通过端口映射实现本地SSH工具(如FinalShell)连接容器,从而提供一个轻量、高效的Linux学习环境。文章还提供了常见问题的解决方案,例如容器重启后SS服务的自启动配置,适合初学者快速搭建Linux环境用于开发和学习。

2025-09-06 11:10:40 2422 1

原创 JVM参数调优(GC 回收器 选择)

JVM参数调优摘要 JVM通常采用"通用型"默认配置,多数场景无需调优。调优需基于证据,针对低延迟、高吞吐量、低内存占用三大目标进行权衡("不可能三角")。JDK8主要提供7种垃圾回收器组合,其中Parallel Scavenge+Parallel Old(高吞吐)为默认,G1(低延迟)在JDK9成为默认。关键调优参数包括:-Xms/-Xmx(堆大小)、-XX:+HeapDumpOnOutOfMemoryError(OOM时导出dump)、-Xloggc(记录GC日志

2025-09-04 21:20:28 972

原创 JVM分析(OOM、死锁、死循环)(JProfiler、arthas、jdk调优工具(命令行))

本文介绍了使用JDK自带工具分析JVM常见问题的方法,包括OOM、死锁和死循环。通过测试代码演示了三种问题的产生场景,并详细讲解了JPS、JStack和JMap等工具的使用。针对OOM问题,配置了堆转储参数和GC日志记录;针对死锁和死循环问题,提供了线程状态分析指南。文章还比较了不同工具在Linux和Windows环境下的适用性,为Java开发者提供了一套完整的JVM问题排查方案。

2025-09-03 14:44:12 1193

原创 springboot提前注册bean

SpringBoot项目中由于类加载顺序导致的Bean初始化问题。原SSM项目中通过XML配置优先加载的PropertiesUtil工具类,在迁移到SpringBoot后因加载顺序改变而出现空指针异常。作者通过分析JVM类加载机制和Spring IOC容器初始化过程,发现问题的根本原因是静态常量在初始化阶段依赖尚未注册的Bean。最终提出了使用ApplicationContextInitializer接口的解决方案,在应用上下文刷新前手动注册关键Bean,避免了大规模代码修改。

2025-08-30 17:24:49 997

原创 String的最大长度剖析

JVM规范中String常量在class文件中以CONSTANT_Utf8_info结构存储,包含1字节tag、2字节length和变长bytes数组。理论上最大长度应为65535(2^16-1),但实际测试发现65534个字符可编译,65535个字符会报错。通过分析JDK源码发现,编译器在Pool类中设置MAX_STRING_LENGTH为65535,但JVM规范存在历史缺陷:当字节码长度正好65535时,最后一条指令无法被异常处理保护。因此编译器将字符串最大长度限制为65534,以避免潜在问题。这一限制

2025-08-24 13:57:26 838

原创 优雅的请求接口(java)

本文介绍了一种通过模板类实现请求与返回类型动态绑定的方法。在请求方法中利用入参类获取出参的class并生成出参类。此外,还提供了一个统一的返回类Results,用于封装返回码、消息和实体数据,支持成功和失败的多种返回场景。这种方法提高了代码的灵活性和复用性。

2025-05-14 14:48:19 515

原创 滑动验证码(前后端完整逻辑与代码)

1、为了防止机器冒充人类做账号密码的暴力破解:调用接口或者模仿用户行为,大批量的尝试账号密码登录,就是为了获取真实的账号密码2、防止大规模在线注册滥用服务:批量注册大量无用的账号信息,给服务器增加压力3、防止滥用在线批量化操作:比如在投票的时候,有些恶意刷票软件就可以实现批量化投票功能4、防止信息被大量采集聚合:互联网时代,最有价值的就是内容生产,精心创作的原创文章,而验证码可以防止机器批量的爬取数据

2025-05-11 20:01:30 3212

原创 antd pro4 升级 antd5

Ant Design 5.0 使用 CSS-in-JS 技术以提供动态与混合主题的能力。与此同时,我们使用组件级别的 CSS-in-JS 解决方案,让你的应用获得更好的性能。

2025-04-29 15:35:33 1455

原创 雪花算法(JAVA单例不用修改版)

雪花算法(Snowflake Algorithm)是一种用于生成分布式系统中唯一ID的算法。起初由Twitter设计,用于解决分布式系统中唯一ID的需求。这一算法的目标是生成全局唯一、有序的64位整数ID,以确保数据不冲突、不重复。

2025-04-22 18:28:48 1180

原创 油候插件、idea、VsCode插件推荐(自用)

自用的一些插件

2025-03-21 16:35:59 1278

原创 JAVA_解决反射Introspector.getBeanInfo()得到的writeMethodRef与Lombok注解@Accessors(chain = true)冲突导致空指针问题

像BeanCopier依赖Introspector的writeMethod对目标类赋值的工具,在转换使用了@Accessors(chain = true)注解的类时,在获取属性描述PropertyDescriptor就不会返回这个属性的writeMethod属性,就相当于该类的属性没有“写入方法”,这就造成了拷贝对象过程中出现空指针问题。

2025-03-19 14:14:39 441

原创 AI文本SSE流式输出(JAVA版)

当使用ChatGPT或者Deepseek时,模型的回复不是一次性生成整个回答的,而是逐字逐句地生成。这是因为语言模型需要在每个时间步骤预测下一个最合适的单词或字符。如果等待整个回复生成后再输出到网页,会导致用户长时间等待,极大降低用户体验。本文的目的就是通过SSE(Server-Sent Events)流式输出技术,向前端提供所需的参数本文基于JDK8、硅基流动API做的输出。

2025-03-03 15:14:13 2558

原创 AI改文(小说推文Java版)

之前我做小说推文时,最耗时的就是改文案,而且大多是重复性工作改文案主要的功能为改人称、换行、去标点(因为需要生成语音,标点也算字符,可以减少成本)、改开头我就想着写一个java脚本来优化,主要的功能是改人称、换行、去标点、改开头现在加上了ai,可以做到改人称、换行、去标点、换书名改开头的话,免费的ai并不是很好用,还得人为改,后续需要我可以加上,但效果并不佳,我就去掉了,也可能是我写的prompt并不是很准确文生图的api使用我也会写在下面,但免费的效果感觉不行,电脑有条件去学一下 st

2025-02-18 17:43:41 1974

原创 Java给二维码添加背景

Java给二维码添加背景

2024-11-20 17:30:57 590

原创 antd proFromSelect 懒加载+模糊查询

查询用户的时候数量特别大,有10w条数据,不可能直接全部查询用来展示所以本文章将讲解如何使用懒加载+模糊查询,解决数量过大的问题

2024-11-14 18:12:11 858

原创 java动态导入导出excel,javassist动态创建类

Javassist 使 Java 字节码操作变得简单。它是一个用于在 Java 中编辑字节码的类库。它使 Java 程序可以在运行时定义新类,并在 JVM 加载它时修改类文件。与其他类似的字节码编辑器不同,Javassist 提供了两个级别的 API:源级别和字节代码级别。如果用户使用源代码级 API,则他们可以在不了解 Java 字节码规范的情况下编辑类文件。整个 API 仅使用 Java 语言的词汇表进行设计。您甚至可以以源文本的形式指定插入的字节码。Javassist 可以即时对其进行编译

2024-11-04 11:00:48 724

原创 使用bat命令在没有java的环境下启动jar包

里面有三个比较重要的文件clean.bat:用于清除占用程序的端口:用于启动全部的项目jre8_win64:用于jar所需要的java环境jre8_win64。

2024-09-26 13:37:30 841

原创 Mybatis+Druid+MybatisPlus多数据源配置

平常我们使用的是 properties 或者 yaml 来配置数据库的地址、用户名、密码等,但是这样只能配置一个数据源,现在我们想在一个项目里面配置多个数据源,那么我们就需要配置自己的配置类

2024-09-18 17:10:12 1529

原创 前端带token下载文件

前端带token下载文件

2024-07-23 16:21:38 637

原创 antd(react) ProFormUploadDragger(Upload)上传组件上传图片及省略图模糊展示

antd(react) ProFormUploadDragger(Upload)上传组件上传图片及省略图模糊展示

2024-05-24 15:02:17 1228

原创 springboot整合websocket,超简单入门

WebSocket 是一种基于 TCP 协议的全双工通信协议,它允许客户端和服务器之间建立持久的、双向的通信连接。相比传统的 HTTP 请求 - 响应模式,WebSocket 提供了实时、低延迟的数据传输能力。通过 WebSocket,客户端和服务器可以在任意时间点互相发送消息,实现实时更新和即时通信的功能。WebSocket 协议经过了多个浏览器和服务器的支持,成为了现代 Web 应用中常用的通信协议之一。它广泛应用于聊天应用、实时数据更新、多人游戏等场景,为 Web 应用提供了更好的用户体验

2024-05-09 16:17:31 1058 3

原创 Mybatis:Oracle批量新增、批量修改

Mybatis:Oracle批量新增、批量修改

2024-03-04 10:18:42 1980

原创 java8 列表通过 stream流 根据对象属性去重的三种实现方法

java8 列表通过 stream流 根据对象属性去重的三种实现方法,并比较每个方法的去重速度

2024-01-19 15:49:32 19349

原创 SpringBoot参数校验@Validated、@Valid

在实际开发中,前端校验并不安全,任何人都可以通过接口来调用我们的服务,就算加了一层token的校验,有心人总会转空子,来传各式各样错误的参数,如果后端不校验,导致数据库数据混乱、特别是关于金额的数据,可能一个接口把公司都给干倒了

2024-01-17 14:35:27 2601 5

原创 前端异步+token下载文件

前端异步+token下载文件

2023-11-09 17:25:06 778

原创 java构建树结构的原理与工具类

构建一棵树的步骤> 1、首先获取所有的根节点(顶级节点),跟数据库的配置有关> 2、根据每一个根节点,与所有节点集合(数据)进行判断,当前节点是否为其下的子节点。> 3、若是,则递归调用构建树形;若不是,则表明该节点不属于其下子节点。> 4、应继续循环判断节点父子关系,直到所有节点与根节点判断完毕。

2023-11-09 11:13:12 873

空空如也

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

TA关注的人

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