- 博客(359)
- 收藏
- 关注
原创 RabbitMQ 4.1集群部署与访问测试
为了让3个节点处于同一个集群,我们告诉其中2个节点,如rabbit@gw15、rabbit@gw16,加入到第3个节点的集群,如rabbit@gw14。重置节点会移除节点上的所有数据。消费者程序先前经haproxy连到了gw15节点,当gw15节点上的RabbitMQ实例停掉后,消费者程序自动重连到了其它节点。在gw16节点上,操作与上面是一样的,除了这次我们让节点加入rabbit@gw15节点所在的集群。如上验证所示,使用HaProxy+RabbitMQ集群这种架构,可以保证仲裁队列的高可用,验证通过。
2025-06-04 16:59:36
511
原创 LangChain4J 教我做人:RAG API 增强原来这么香!
在正式进入主线剧情前,简单给没接触过 RAG 的小伙伴复习一下。RAG 的全称是 Retrieval-Augmented Generation,翻译过来就是“检索增强生成”。本质就是——把用户问题丢给大模型之前,先从你的知识库里找到相关资料,再让大模型结合上下文来回答问题。用户提问 → 检索相关文档 → 组合上下文 → 大模型生成回答这种方式好处多多:更准确、更私有、更可控、更高效。LangChain4J 把整个流程组件化,你可以随意组合。
2025-06-03 22:10:53
581
原创 tomcat 调优-生产环境必备
如果是多核的建议调大 startStopThreads 的值,但不超过内核数。注意一下,为什么我们这里使用的路径是"/dev/./urandom",而不是 "/dev/urandom",是因为在java 8之前的版本设置了/dev/urandom ,但是实际还是使用/dev/random,设置为"/dev/./urandom"才能正常使用 "/dev/urandom" , 这个bug在java8版本已经修复了,如果你是java7版本的话,需要按照上面设置,java8的话可以不用加 "./"。
2025-06-03 12:10:05
216
原创 全网最详细!手把手教你用 LangChain4j 打造 RAG 智能问答系统
一切皆可组合!每个组件都是小而美的 Lego 块,可以按你需求灵活组装,不论是做 Q&A、Agent、还是 PDF 阅读器,都能搞定。你可以简单用 3 行代码喂 PDF,也可以细粒度控制每一步处理逻辑,真的非常适合构建企业级 Java 应用。
2025-06-02 19:17:43
470
原创 HAProxy保持源IP
本篇文章是前一篇《Linux源进源出》的后续,有些场景在那里有更详细的介绍,为能更方便的读懂本文,建议先阅读《Linux源进源出》。负载均衡英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器。常用的负载均衡软件有Nginx,HAProxy,他们功能不在这里复述。负载均衡部署时一般使用反射代理方式,即由负载均衡代理真实的服务器,用户需要访问业务时,首先访问的是负载均衡,再由负载代理用户去访问服务器。
2025-06-02 11:32:10
195
原创 Linux源进源出
源进源出,也叫记录上一跳,即请求报文从某条路径进入,回应报文依然沿着同样的路径返回,而不是通过查找路由表来确定接口,保证了报文从一个接口进出。在我们正常的网络环境下,如果要保证业务正常,就是对整网的路由进行规划,确保回应报文能够回到请求发送者,这也是源进源出的效果。但是有两个场景通过路由规划来实现源进源出不现实:Linux作为互联网接入设备、应用负载均衡记录源。下面以互联网接入设备为场景介绍Linux的源进源出,应用负载均衡记录源将在后面的文章中介绍。Linux的源进源出,主要有几个动作:1。
2025-06-01 11:08:54
216
原创 网络协议相关
包含物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;将其简化为网络接口层、网络层、传输层和应用层;例如OSI的物理层和数据链路层对应TCP/IP的网络接口层,主要处理MAC地址寻址和物理介质传输。
2025-05-31 22:44:45
592
原创 Java社招面试题:Spring数据访问?我在面试官眼里差点翻车了……
朋友们,我想说:面试中问“Spring数据访问有哪些方式”,不是想考你记得几个框架,而是想看:你用过哪几个?各自适合什么场景?如果让我选,我怎么选?回头看那场面试,我其实挺感激那个面试官的。他没有直接“否掉我”,而是带着我,一步一步把我知识体系中最松散的一块补起来。所以今天这篇文章,就送给准备面试的你、或者像我一样正在“补课”的你。
2025-05-31 22:17:32
465
原创 Linux策略路由
默认优先级为0的ip rule不能删除及修改,它对应的路由表为local,由系统自动产生并更新,local表中有四种目的地址,本机接口的IP,本机接口的IP所属的网段,本机接口的IP所属的网段广播地址,环回地址(127.0.0.0/8)。报文进入Linux时,首先通过prerouting链,在该链中为报文设置meta mark,报文在Linux内部的整个转发过程都会携带这个标识,后续的Rouing模块,或者forward等其它链都可以看到这个标识并把他作为一个匹配条件。
2025-05-31 09:51:01
552
原创 二叉树及建堆的详细介绍
1.调整方向- 向上调整建堆:从最上的叶子节点开始,将每个节点与其父节点比较交换,直到根节点或满足堆的性质。- 向下调整建堆:从最下的根节点开始,与它的左右子节点比较交换,不断向下调整,直到叶子节点或满足堆的性质。2.时间复杂度(向下调整建堆更优)-向上:O(N*logN)-向下:O(N)原因:二叉树最后一层占了几乎一半节点,从下向上调整节点数少,次数少,而从上向下,最后每个节点都要处理,调整次数多(不具体证明了)3.适用场景。
2025-05-30 23:19:57
583
原创 从 RNN 到 GRU、LSTM 再到 Transformer (万字详解)
transformer模型本体的编码器数量一般小于Bert中编码器的数量,导致词汇对上下文的融合能力较弱,此外,由于transformer模型本体一般都以具体的下游任务为导向,数据总量与多样性均不足,并且有明确标注的数据可能在一词多义的情况下导致过拟合(例如模型在测试时遇到低频语义时,可能错误应用高频语义),所以该方法对多义词的处理效果差,即词向量的动态性差。:单维离散,每一个维度采用二进制作为周期函数,非0即1,没有中间量,这种不连续的跳变不符合真实情况(真实的位置信息往往是连续的),不利于模型学习。
2025-05-30 21:31:32
848
原创 「Java教案」Java程序的构成
在Java中,注释用于对代码进行解释说明,提高代码的可读性,或者临时禁用某些代码。变量名 - num1,num2,product,a,b,args。①文档注释 - /** ... */(用于生成API文档);/* 注释1 /* 注释2 */ */ → 错误原因:避免嵌套多行注释。判断以下标识符是否合法:_name、$price、1user、class。编写一个Java类,包含合法标识符的变量、方法,并添加注释。1.列出代码中的所有用户自定义标识符(类名、方法名、变量名)。合法、合法、非法、非法。
2025-05-30 20:25:42
501
原创 Mooncake论文阅读笔记
最近昇腾提供的大EP PD分离推理解决方案非常火,很多开发者都开始使用了。正好这两天也看了一篇PD分离的经典论文,就是Kimi采用的PD分离架构:Mooncake。
2025-05-30 17:35:18
654
原创 尼尔森用户交互设计原则
系统应该让用户时刻清楚当前发生了什么事情,快速的让用户了解自己处于何种状态、对过去发生、当前目标、以及对未来去向有所了解,一般的方法是在合适的时间给用户适当的反馈,防止用户使用出现错误。例如:而当用户输入错误的时候,输入框会变为红色并且在下方出现红色字的错误提示,这样让用户很清楚的知道用户输入错误以及错误的原因,这样用户就知道怎么修改了,这也是容错原则的一种体现。设计的一切表现和表述,尽可能贴近用户所在的环境,将现实环境的操作功能巧妙的转化为线上功能,使其贴近用户。设置防错的机制,减少用户犯错。
2025-05-30 17:04:41
610
原创 Fusion引擎赋能:流利说如何用阿里云Serverless Spark实现数仓计算加速
行业流利说是领先的科技驱动的教育公司,公司自主研发了领先的英语口语评测、写作打分引擎和深度自适应学习系统,致力于为用户提供一整套系统性的英语学习解决方案,从听、说、读、写多个维度提升用户的英语水平。业务特征AI 打分:利用大数据和人工智能算法对用户英语口语评测、写作打分。个性化推荐:根据用户学习目标及评级,自动推荐专项和强化课程内容。数据驱动:通过分析用户画像和学习效果,优化推荐策略,提升用户满意度。数据运营:基于大数据及用户特征,提高运行效率,提升用户黏度及用户满意度。原有架构痛点。
2025-05-30 16:24:28
776
原创 AI编程在BOSS项目的实践经验分享
前言在人工智能技术革新浪潮的推动下,智能编程助手正以前所未有的速度重塑开发领域。这些基于AI的代码辅助工具通过智能提示生成、实时错误检测和自动化重构等功能,显著提升了软件工程的全流程效率。无论是初入行业的开发者还是资深程序员,都能借助这些工具快速突破技术瓶颈——新手可借此规避基础语法错误并学习最佳实践,而资深工程师则能通过智能优化建议将重复性编码工作转化为创造性技术探索,有效缩短从构思到实现的开发周期。一、AI编程的主流方式和选型。
2025-05-30 15:28:15
751
原创 基于YOLOv8的6种金属表面缺陷检测识别项目【完整源码数据集+PyQt5界面+完整训练流程+开箱即用!】
本项目集成了YOLOv8 金属表面缺陷检测模型与PyQt5 图形界面工具,支持对6类金属表面缺陷支持检测输入类型:图片、文件夹、视频、摄像头PyQt5 编写的图形化用户界面(GUI),操作简洁提供完整的模型训练脚本与推理流程开箱即用,适合金属检测类工业项目快速部署项目打包包含完整源码、训练数据集、模型文件及可视化界面程序, 源码附文末。金属表面缺陷检测在制造业中尤为关键,传统方法依赖人工巡检,不仅效率低且误差高。本项目通过集成YOLOv8 深度学习目标检测算法。
2025-05-30 13:58:16
725
原创 OpenTelemetry × Elastic Observability 系列(一):整体架构介绍
本文介绍了 OpenTelemetry Demo 的整体架构,并演示了如何借助 Elastic Observability 实现链路追踪、日志与指标的统一观测。这是 OpenTelemetry × Elastic Observability 实践系列的第一篇文章,在后续的文章中,我们将深入探讨不同编程语言(如 Java、Go、Node.js 和 Python)的 OpenTelemetry 集成实践。
2025-05-30 13:38:22
619
原创 如何启动Windows平台轻量级RTSP服务生成RTSP拉流URL
为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,我们在推送端发布了轻量级RTSP服务模块:简单来说,之前推送端SDK支持的功能,内置轻量级RTSP服务模块后,功能继续支持。
2025-05-30 11:56:59
418
原创 Android平台GB28181历史视音频文件回放规范解读及技术实现
Android平台GB28181历史视音频文件回放,除了上述信令交互外,还需要处理RTP打包发送等,相对其他功能实现更复杂,感兴趣的开发者,可以尝试看看。
2025-05-30 11:55:12
566
原创 DistilQwen-ThoughtX:变长思维链推理模型,超越DeepSeek蒸馏模型
近年来,自然语言处理(NLP)领域以大语言模型(LLM)的出现为标志,发生了深刻变革,引领了语言理解、生成和推理任务的进步。其中,进步尤其显著的是深度推理模型的发展,如 OpenAI 的 o1、DeepSeek-R1 和 QwQ-32B 等,它们在数学问题、代码生成等复杂推理任务中表现突出。这些模型的成功很大程度上得益于使用思维链(Chain-of-Thought, CoT)的推理方式,能够模拟人类的渐进思考过程,将复杂问题化繁为简。
2025-05-30 11:50:05
749
原创 【HarmonyOS 5开发入门】DevEco Studio安装配置完全指南
随着华为鸿蒙OS的快速发展,越来越多的开发者开始关注并投入到这个新兴的生态系统中。作为开发鸿蒙OS应用的第一步,安装并配置好DevEco Studio开发环境至关重要。本文将详细介绍如何下载、安装和初步配置DevEco Studio,帮助你快速进入鸿蒙应用开发的世界。创建项目后,IDE会自动生成项目的基本结构。存放页面代码,每个.ets文件代表一个页面。存放资源文件,包括图片、字符串等。配置文件,用于配置应用的权限、组件等信息。重点关注entry,这是项目的入口模块(Ability)。src。
2025-05-30 11:13:29
773
原创 [建议收藏]RTSP|RTMP直播流录制下来的MP4文件起播慢怎么办?
以上是针对直播流录制起播慢的处理,如果录制下来的文件,需要做在线点播,这块非常必要,有问题或感兴趣的开发者,可以单独跟我沟通探讨。
2025-05-30 11:01:15
255
原创 跨平台浏览器集成库JxBrowser 支持 Chrome 扩展程序,高效赋能 Java 桌面应用
JxBrowser是 TeamDev 开发的跨平台库,用于在 Java 应用程序中集成 Chromium 浏览器。它支持 HTML5、CSS3、JavaScript 等,具备硬件加速渲染、双向 Java 与 JavaScript 连接、丰富的事件监听等功能,能处理网页保存、打印等操作,助力 Java 应用高效展示和交互网页内容。JxBrowser 现在支持 Chrome 扩展程序啦!您可以从 Chrome 应用商店或 CRX 文件中安装、更新并与几乎任何 Chrome 扩展程序进行交互。
2025-05-30 11:00:33
508
原创 k8s1.28版本开启临时容器功能及创建临时容器
临时容器特别适合包含主容器剥离出来的一些调试工具,在需要的时候临时注入到目标pod中。目前在pod中添加临时容器之后,还无法删除,同时如果这时候临时容器已经退出,会导致无法再次attach,也不会被拉起(临时容器不支持probe什么的),
2025-05-30 10:45:35
639
原创 k8s部署 | 5月征文21
Swap环境配置(所有主机操作)网络参数调整(所有主机操作)部署docker软件源。docker加速器配置。master节点初始化。harbor仓库定制。harbor仓库测试。node节点加入集群。
2025-05-30 10:26:16
319
原创 【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发二
目录1 -> 声明式UI开发指导1.1 -> 开发说明1.2 -> 创建页面1.3 -> 修改组件样式1.4 -> 更新页面内容2 -> 创建简单视图2.1 -> 构建Stack布局2.2 -> 构建Flex布局2.3 -> 构建食物数据模型2.4 -> 构建食物列表List布局2.5 -> 构建食物分类Grid布局2.6 -> 页面跳转与数据传递2.6.1 -> 页面跳转2.6.2 -> 页面间数据传递编辑声明式UI的通用开发历程如下表所示。任务简介准备开发环境学习ArkTS语言ArkTS是Harmony
2025-05-30 08:58:08
637
原创 【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发一
方舟开发框架(简称:ArkUI),是一套构建HarmonyOS应用界面的UI开发框架,它提供了极简的UI语法与包括UI组件、动画机制、事件交互等在内的UI开发基础设施,以满足应用开发者的可视化界面开发需求。基于ArkTS的声明式开发范式的方舟开发框架是一套开发极简、高性能、跨设备应用的UI开发框架,支持开发者高效的构建跨设备应用UI界面。兼容JS的类Web开发范式的方舟开发框架,采用经典的HML、CSS、JavaScript三段式开发方式。
2025-05-30 08:57:08
385
原创 【C语言指南】数组传参规则详解
在使⽤函数解决问题的时候,难免会将数组作为参数传递给函数,在函数内部对数组进⾏操作。但数组作为参数传递给函数,不同于普通的变量传参,本篇博客将详细介绍数组传参的规则和实际用法。
2025-05-30 08:23:14
319
原创 2025 年实用、全面的 VS Code 插件推荐!
VS Code是一款由微软开源免费、轻量级、功能强大的源代码编辑器。其轻量级体现在基础安装简洁,仅含核心编辑功能。功能强大则源于它支持丰富的语言环境插件拓展,这种模块化设计让VS Code在源代码开发工具中独占鳌头,它能够轻松应对多种语言开发。俗话说的好工欲善其事必先利其器,选用合适的插件能显著提升开发效率。以下是大姚精选的一些实用VS Code插件拓展,希望能对你有所帮助,大家有更好的插件推荐可在文末留言🤞。
2025-05-29 22:52:17
634
原创 【HarmonyOS 5】鸿蒙应用px,vp,fp概念详解
目前的鸿蒙开发者,大多数是从前端或者传统移动端开发方向,转到鸿蒙应用开发方向。前端开发同学对于开发范式很熟悉,但是对于工作流程和开发方式是会有不适感,其实移动应用开发与前端开发,最大的区别就在于UI适配和性能优化上了。今天我们就来分析下鸿蒙中UI适配的规范与小窍门。
2025-05-29 22:12:16
729
原创 基于YOLOv8的路面缺陷(路面裂缝、井盖、坑洼路面)识别项目【完整源码数据集+PyQt5界面+完整训练流程+开箱即用!】
本项目集成了YOLOv8的路面缺陷(路面裂缝、井盖、坑洼路面)检测模型与PyQt5 图形界面工具,实现了包括图片、文件夹、视频与摄像头等多种输入方式的智能检测功能。你只需一条命令即可启动系统,轻松体验AI识别在智慧城市与道路安全中的应用场景。✅ 支持 YOLOv8 所有检测能力;✅ 提供完整训练数据与标注格式;✅ PyQt5 一键运行图形界面;✅ 项目可本地运行,无需部署服务器;✅ 模块化设计,方便二次开发。源码打包在文末。
2025-05-29 20:33:48
588
原创 用trae完全自动化开发一款网页版的俄罗斯方块游戏
我使用的是自定义的大模型,因为我本来以为通过api调用是可以用上最新版本的deepseek R1的。
2025-05-29 17:20:10
612
原创 从Keil MDK到IAR EWARM:通过工程迁移实现项目资产的更好管理
Arm Cortex-M MCU开发大部分会采用满足CMSIS标准的函数,如果使用了编译器的intrinsic函数,在迁移过程中需要适配(比如Keil MDK对应NOP指令的intrinsic函数是__nop,而IAR EWARM对应NOP指令的intrinsic函数是__no_operation)。对应Arm Cortex-M MCU的IAR EWARM支持包:如果对应MCU已经在IAR EWARM的官方支持列表内,则对应MCU的支持包也会在IAR EWARM的安装包内;
2025-05-29 16:18:04
522
原创 HarmonyOS优化应用预置图片资源加载耗时问题性能优化
这些转化后的图片资源可以被GPU直接使用,省略了CPU的处理过程,提高图片的显示速度,减少内存的占用,从而实现内存的提升。纹理压缩是在编译构建中对预置图片进行处理的,首先需要在编辑器的编译文件中配置纹理压缩的相关参数,hvigor根据配置的参数读取将要纹理压缩的文件资源,然后hvigor构造restool命令开始解析并生成资源文件列表,之后根据文件列表来遍历资源文件,将待转换文件进行转码生成纹理格式的文件,已经转换的资源文件不会再打包到构建产物中,最后将纹理文件和未转换的文件一起构建生成资源产物。
2025-05-29 16:08:34
795
原创 Java与Python优劣分析及两者联姻收奇功
Python 和 Java 作为两种广泛使用的编程语言,在大多数场景下都能实现相似的功能。但由于语言设计初衷、生态系统以及社区偏好的不同,Python 在某些特定领域确实具有 Java 难以比拟的天然优势。
2025-05-29 15:41:37
916
原创 C#设计模式之十四命令模式(Command Pattern)【行为型】
因为我们并不关心他们是谁,发出命令的人发出命令,可以继续做其他的事情,接受命令的人执行任务就可以,不需要你发出命令,还要监督我们完成,只要我们完成任务是合格的就行。我写的这个代码实现,没有突出命令的Redo和Undo,也没写命令的排队,但是大家要知道,之所以把行为抽象独立对象,就是要对其可以进行特殊处理。命令模式是把一个操作或者行为抽象为一个独立的对象,通过对命令的抽象化来使得发出命令的责任和执行命令的责任分隔开,也可以对独立的命令对象进行特殊操作,比如可以实现命令的撤销和恢复功能。
2025-05-29 14:27:56
669
原创 从扣减库存场景来讲讲redis分布式锁中的那些“坑”
假设这么一个极限情况,当代码用时9.9s运行到判断处,此时因为网络卡顿导致释放锁还没执行,但10s的时间到了锁自动释放了,而这时请求2拿到锁进来了,但请求1执行到释放锁把请求2的锁释放掉了,于是又回到了前面的“虽然代码逻辑很简单,乍一看也没什么问题,但相信聪明的读者已经想到了在高并发场景下可能存在的问题:在短时间内突然大量的请求这个接口,假如有3个请求同时执行到取键值对并进行了扣减库存,那么此时实际上库存是-3,但这3个请求是在同一时刻执行,所以最终只做了减1并重新存储到了redis中。
2025-05-27 10:53:09
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人