- 博客(759)
- 资源 (400)
- 收藏
- 关注
原创 Java 线程池 WorkQueue 的作用
线程池WorkQueue核心速记(≤150字) WorkQueue是线程池的任务缓冲带,核心作用:缓冲突发流量、解耦生产消费线程、控制并发流程。典型队列类型:无界队列(LinkedBlockingQueue)易OOM,有界队列(ArrayBlockingQueue)保安全,零容量队列(SynchronousQueue)强制实时配对。当队列满且线程达maxPoolSize时触发拒绝策略。手写线程池关键:BlockingQueue+循环线程实现任务复用。口诀:"无界提吞吐,有界防溢出,同步强实时,拒绝
2025-07-30 15:24:43
194
原创 SpringBoot系列之集成EasyExcel实现百万级别的数据导入导出实践
Spring Boot集成EasyExcel实现百万级数据处理 本文介绍了如何在Spring Boot 2.2.1中集成Alibaba EasyExcel实现百万级数据的导入导出功能。项目采用分Sheet处理、分批查询和异步写入等优化策略,通过线程池管理并发任务,显著提升大数据量处理性能。 核心实现包括: 数据导出:分Sheet存储数据,每10万条一个Sheet,采用分批查询(每批1万条)和并行处理 数据导入:使用监听器模式实现流式读取,避免内存溢出 性能优化:配置专用线程池、内存缓存和响应头设置 项目提供
2025-07-30 15:24:32
533
原创 RabbitMQ消息确认机制有几个confirm?
RabbitMQ的消息确认机制包含两种"confirm":生产者确认(Publisher Confirm)和消费者确认(Consumer Ack Confirm)。生产者确认用于验证消息是否到达Exchange,分为ack、nack和return三种状态;消费者确认则确保消息被正确处理,支持自动、异常回退和手动三种模式。这两种机制共同保障了消息的可靠传递。
2025-07-29 14:38:53
763
原创 SpringBoot系列之基于Redis的分布式限流器
本文介绍了一种基于Redis的分布式限流器实现,支持SpringBoot框架下的4种限流算法(固定窗口、滑动窗口、令牌桶、漏桶)。针对单机限流器在集群环境中的不足,通过Redis+Lua脚本实现跨节点的精准限流控制。文章详细展示了项目结构设计,包括注解、策略模式实现和4种限流算法对应的Lua脚本。核心代码采用模板方法模式,抽象出通用限流逻辑,各算法只需实现特定参数构建和脚本路径即可。特别提供了带中文注释的Lua脚本,其中固定窗口算法通过INCR+EXPIRE实现简单计数,滑动窗口则利用ZSET实现更精确的时
2025-07-29 14:38:37
897
1
原创 JMeter的基本使用和性能测试教程
JMeter入门教程摘要(150字) JMeter性能测试工具使用教程: 安装:需先配置JDK环境,下载JMeter后启动(Windows/Mac命令不同)。 测试流程: 创建线程组设置用户数/循环次数 添加HTTP请求配置接口地址 通过监听器(聚合报告、结果树)查看响应时间/吞吐量 使用响应断言验证结果 进阶功能:参数化、定时器、分布式压测。 注意:高并发需调大堆内存,关闭冗余监听器节省资源。 流程图:安装→配置线程组→添加请求→运行→分析报告 (附关键指标说明:TPS、错误率、90%响应时间等)
2025-07-28 11:28:58
1139
原创 在 Linux 上进行 Apache Bench 测试
摘要:本文详细介绍了在Linux系统中使用Apache Bench(ab)进行Web压力测试的完整教程。内容包括安装方法(支持Ubuntu/Debian和CentOS/RHEL)、基本使用语法、常用参数说明、实战示例(GET/POST请求测试)、测试结果关键指标解读、常见问题解决方案以及进阶技巧(自动化脚本和结果可视化)。文章还特别强调了测试注意事项,如避免直接压测生产环境、监控服务器资源等,并建议复杂场景改用JMeter或Locust等工具。该教程适合开发者快速掌握Web接口性能测试的基本方法。
2025-07-28 11:28:33
288
原创 RabbitMQ有多少种Exchange?
摘要:RabbitMQ 支持 6 种交换机类型,包括 4 种常用(Direct、Fanout、Topic、Headers)和 2 种特殊类型(System、自定义)。开发者主要使用前 4 种,通过 channel.exchangeDeclare() 方法创建。其中 Headers 交换机因性能低(需遍历键值对)且可读性差,实际项目中很少使用,通常用 Topic 替代。面试时可能被问及 Headers 的缺点,可回答其 CPU 开销大和应用场景有限等。
2025-07-23 11:45:44
295
原创 Java实现多个子线程执行完成后执行主线程
摘要:本文介绍了Java中让主线程等待子线程完成的4种方法:1)Thread.join()基础阻塞;2)CountDownLatch灵活计数;3)CyclicBarrier可复用同步;4)线程池+Future/awaitTermination推荐方案。对比了各方法的特点和适用场景,并给出代码示例。面试时可优先选择线程池或CountDownLatch方案,关注异常处理和资源控制。掌握这些多线程同步技术可提升面试通过率。
2025-07-23 11:45:34
434
原创 基于 KeepAlived + HAProxy 搭建 RabbitMQ 高可用负载均衡集群
本文详细介绍了基于KeepAlived和HAProxy搭建RabbitMQ高可用负载均衡集群的完整方案。架构采用三节点RabbitMQ集群(1磁盘节点+2内存节点),配合HAProxy实现TCP负载均衡和健康检查,通过KeepAlived实现VIP高可用。文章包含环境准备(软件版本、节点规划)、RabbitMQ集群搭建步骤(Erlang安装、集群配置)、HAProxy负载均衡配置等内容,并提供了详细的网络拓扑图和配置示例。该方案能够有效解决RabbitMQ客户端连接的单点风险,实现故障自动切换与流量分发,保
2025-07-22 16:32:14
1137
原创 VirtualBox + CentOS:启用 DHCP 获取 IPv4 地址
摘要: 在VirtualBox的CentOS7虚拟机中,网卡状态显示UP但无IPv4地址。排查步骤包括:确认网卡状态、检查DHCP获取、验证配置文件(BOOTPROTO=dhcp,ONBOOT=yes)、调整虚拟机网络设置。常见原因有接口DOWN、DHCP未启用、配置错误或虚拟机网络未连接。提供一键自检脚本快速诊断,并强调优先检查接口状态和DHCP服务。适用于最小化安装的CentOS/RHEL系统。
2025-07-18 10:23:54
406
1
原创 VirtualBox 中 CentOS 7 双网卡配置静态 IP
本文介绍了在VirtualBox 7.x中为CentOS 7.9虚拟机配置双网卡的方法:网卡1采用桥接模式(DHCP自动获取IP)用于局域网SSH连接,网卡2采用NAT模式(静态IP 10.0.2.15)确保外网访问。配置步骤包括添加网卡、修改网络配置文件、设置静态IP和重启网络服务。最终实现虚拟机既能通过桥接IP被局域网访问,又能通过NAT稳定上网,无需端口转发且避免IP冲突。文中还提供了常见错误解决方法及网络拓扑说明。
2025-07-16 16:21:03
345
原创 VirtualBox 安装 CentOS7 后无法获取 IP 的排查与修复
标题:VirtualBox 安装 CentOS7 后无法获取 IP 的排查与修复。
2025-07-14 17:02:26
463
2
原创 Java图片处理实战:如何优雅地实现上传照片智能压缩
本文介绍了使用Java实现图片智能压缩的完整解决方案。核心内容包括:1) 通过HttpURLConnection获取并检查图片尺寸;2) 采用等比例缩放算法确保图片不变形;3) 设置高质量渲染参数优化压缩效果;4) 使用try-with-resources管理资源,Optional处理结果。该方案支持从URL获取图片,自动检测并压缩超限图片,最后上传至云存储,具有异常处理和日志记录功能,适用于Web应用中的图片处理场景。
2025-07-14 17:02:13
1114
原创 蚂蚁百宝箱快速创建智能体AI小程序
蚂蚁百宝箱是蚂蚁集团推出的零代码AI应用开发平台,支持快速创建对话型、文本型等多种智能体小程序。用户只需通过自然语言描述需求,选择大模型和插件,就能轻松完成开发并发布至支付宝等平台。本文详细介绍了从登录到发布的9个步骤,包括配置提示词、测试优化等关键环节,并列举了智能客服、导游助手等应用场景。该平台降低了AI开发门槛,让非技术人员也能快速实现创意,推动智能化应用普及。
2025-06-21 15:41:06
1067
原创 Java实现Excel图片URL筛选与大小检测
Java实现Excel图片URL筛选与大小检测 本文介绍使用Java处理Excel图片URL的完整方案。通过Apache POI读取Excel文件,HttpURLConnection检测URL有效性并获取图片大小。核心功能包括:识别无效URL和大于1MB的图片,保留原数据格式(特别是日期类型),生成筛选后的新Excel文件。方案实现高效的数据清洗,代码展示了文件读写、URL检测、数据筛选等关键步骤,并统计处理结果。适用于需要批量筛选和清理图片URL的业务场景。
2025-06-18 17:50:41
684
原创 避免重复上传相同图片的解决方案
本文探讨了避免图片重复上传的解决方案,提出了通过轻微调整图片尺寸和添加随机噪声的技术方案。文章首先分析了接口对重复图片的限制问题,然后详细介绍了代码实现方法,包括随机调整图片大小1-2像素范围,以及在像素值上添加±5的随机噪声。该方案能够有效改变图片特征码而不影响视觉效果,解决了重复上传导致的操作失败问题。文中提供了完整的Java代码示例,并讨论了使用场景和注意事项,为开发者处理类似问题提供了实用参考。
2025-06-17 15:14:27
333
原创 Prometheus + Grafana 监控 RabbitMQ 实践指南
在微服务架构中,消息队列作为关键组件,其性能和状态直接影响系统稳定性。Prometheus + Grafana 作为流行的开源监控解决方案,能够高效监控 RabbitMQ 的运行状态。本文将详细介绍如何使用 Prometheus 和 Grafana 实现对 RabbitMQ 的可视化监控。通过 Prometheus + Grafana 实现对 RabbitMQ 的可视化监控,可以帮助我们实时了解 RabbitMQ 的运行状态和性能指标。
2025-06-10 14:29:20
1451
原创 RabbitMQ 开机启动配置教程
这篇教程详细介绍了在CentOS 7系统中配置RabbitMQ 3.8.4开机自动启动的完整流程。主要内容包括:安装Erlang 21.3及其依赖、安装RabbitMQ并配置环境变量、创建系统服务文件、设置开机启动以及验证服务。教程提供了每个步骤的详细命令和配置示例,特别强调需要注意用户权限、文件权限和防火墙设置等问题。通过遵循这些步骤,用户可以成功实现RabbitMQ服务的自动启动,并能通过管理界面验证服务状态。
2025-06-04 15:14:14
2010
原创 SpringBoot 系列之集成 RabbitMQ 实现高效流量控制
本文介绍了如何在Spring Boot 2.2.1中集成RabbitMQ并实现流量控制。RabbitMQ作为分布式系统中重要的消息队列组件,当消息产生速度过快时可能导致系统性能下降。文章首先强调了流量控制的重要性,然后详细讲解了Spring Boot集成RabbitMQ的基础配置,包括依赖引入、YAML文件配置和RabbitMQ配置类实现。配置类涵盖了队列、交换机、绑定关系的设置,以及消息转换器和RabbitTemplate的配置,为后续实现流量控制奠定了基础。文章还展示了如何通过设置maxLength等参
2025-06-03 10:19:24
878
原创 SpringBoot系列之RabbitMQ 实现订单超时未支付自动关闭功能
本文详细介绍了基于RabbitMQ实现电商订单超时自动关闭功能的技术方案。通过对比传统定时任务轮询数据库的弊端,重点阐述了RabbitMQ延迟队列的四大优势:高实时性、低性能损耗、高可靠性和良好扩展性。文章提供了完整的Spring Boot环境搭建指南,包括Maven依赖配置、RabbitMQ参数优化等核心细节。在业务设计方面,展示了订单状态机流转模型和RabbitMQ拓扑架构,并给出完整的队列配置代码实现。针对幂等性等生产环境问题,提供了Redis分布式锁的解决方案。
2025-06-03 10:19:08
1333
原创 Python 实现基于 OpenAI API 的文章标题自动生成评论
在当今数字化时代,博客等社交媒体平台的影响力日益增长。为了帮助用户快速生成高质量的评论内容,本文将介绍如何利用 OpenAI API 构建一个简易的AI评论生成器。
2025-05-23 16:05:35
430
原创 Python 项目中安装 OpenAI 库的详细指南
在 Windows 系统中,尤其是使用 Python 3.7.8 时,安装 OpenAI 库可能会遇到网络问题或版本不兼容的困扰。本文提供了两种解决方案:一是使用国内镜像源(如阿里云或清华大学镜像源)来加速安装过程;二是指定安装 OpenAI 库的版本(如 1.0.1)以确保兼容性。安装完成后,可以通过命令验证是否成功。此外,建议确保网络连接稳定,并考虑升级 Python 版本以支持更多功能。通过这些步骤,用户可以顺利在 Windows 系统中安装指定版本的 OpenAI 库。
2025-05-23 15:58:13
761
原创 使用 Selenium 自动化测试:保存网站登录数据的详细指南
本文介绍了两种使用 Selenium 自动化测试时保存网站登录数据的方法,以提高测试效率。第一种方法是通过 Chrome 的 user-data-dir 参数,指定一个目录来存储用户数据,包括登录信息,从而在后续测试中自动加载已登录状态。第二种方法是使用 driver.close() 而不是 driver.quit(),以保持浏览器实例运行,避免每次测试都重新登录。文章详细说明了两种方法的原理、步骤,并提供了示例代码和图示,帮助读者快速实现自动化测试中的登录数据保存。
2025-05-22 12:02:45
644
原创 SpringBoot系列之OpenAI API 创建智能博客评论助手
在当今数字化时代,内容创作变得越来越重要。无论是个人博客还是企业网站,高质量的内容都能吸引访客并提升用户参与度。然而,创作优质内容需要时间和精力。幸运的是,随着人工智能技术的发展,我们可以利用 OpenAI 的 API 来辅助内容创作。本文将介绍如何使用 Spring Boot 和 OpenAI API 创建一个智能博客评论助手,帮助您快速生成高质量的博客评论内容。
2025-05-22 09:50:26
1357
原创 在 VSCode 中运行 Vue.js 项目
本文详细介绍了如何在 VSCode 中运行 Vue.js 项目。首先,需要安装 Node.js 和 Vue CLI,并确保 VSCode 已安装。接着,通过 Vue CLI 创建新项目,并安装项目依赖。在 VSCode 中打开项目后,安装推荐的插件以提升开发体验。最后,通过 npm run serve 启动开发服务器,并在浏览器中访问项目。文章还提到项目调试和自动刷新的功能,帮助开发者更高效地进行前端开发。通过本文的步骤,读者可以轻松在 VSCode 中运行和调试 Vue.js 项目。
2025-05-16 15:46:12
3089
2
原创 SpringBoot系列之RabbitMQ可靠性投递实践教程
通过以上配置和实践,可以实现基于 Spring Boot 2.2.1.RELEASE 的 RabbitMQ 可靠性投递,确保消息在生产者、RabbitMQ 和消费者之间的可靠传输。生产者确认机制(Confirm 和 Return 回调)消息持久化(交换机、队列、消息)消费者手动确认(ACK)消息失败重试机制(本地重试和异常队列)希望这篇教程能帮助你更好地理解和实现 RabbitMQ 的可靠性投递。
2025-05-01 07:49:20
817
原创 阿里云 CentOS YUM 源配置指南
通过以上步骤,我们成功解决了 CentOS 7 中 YUM 源配置错误的问题,并将 YUM 源切换为阿里云源。这不仅提高了软件包的下载速度,还避免了因网络问题导致的 YUM 源不可用的情况。如果您在操作过程中遇到任何问题,可以尝试检查网络连接,或者尝试使用其他国内 YUM 源,如清华源、中科大源等。以上内容为您提供了解决 CentOS 7 YUM 源问题的完整方案,希望对您有所帮助。
2025-04-29 17:11:12
1462
1
原创 yum 安装 ncurses-devel 报错 baseurl 的解决方法
出现报错的原因,很可能是 CentOS 7 的 SCL 源在 2024 年 6 月 30 日停止维护了。
2025-04-29 17:10:45
395
原创 RabbitMQ 启动报错 “crypto.app“ 的解决方法
通过上述步骤,您应该能够解决 RabbitMQ 启动时因缺少crypto.app文件而导致的报错问题。如果问题仍未解决,建议检查系统的依赖关系或考虑使用其他方法安装 RabbitMQ,比如使用 Docker 镜像。希望本文对您有所帮助,如果您在使用 RabbitMQ 时遇到其他问题,欢迎随时联系。以上内容为您提供了解决 RabbitMQ 启动报错 “crypto.app” 文件缺失问题的详细方法,帮助您顺利完成 RabbitMQ 的安装和配置。
2025-04-29 17:10:30
732
原创 RabbitMQ Linux 安装教程详解
通过以上步骤,您可以在 Linux 系统上成功安装并配置 RabbitMQ,并采取相应的注意事项来避免常见问题。希望本文对您有所帮助,如果您在安装过程中遇到任何问题,欢迎随时联系。以上内容为您提供了一个简洁且详细的 RabbitMQ 安装教程,帮助您在 Linux 系统上顺利完成安装并配置 RabbitMQ,确保其稳定运行。
2025-04-29 14:07:17
1156
原创 RabbitMQ架构原理及消息分发机制
在现代分布式系统中,消息队列是不可或缺的组件之一。它不仅能够解耦系统模块,还能实现异步通信和削峰填谷。在众多消息队列中,RabbitMQ 因其高并发、高可靠性和丰富的功能而备受青睐。本文将从 RabbitMQ 的基础概念、架构原理、消息分发机制、持久化与内存管理、插件管理、Java API 编程以及 Spring 集成等方面,全面解析 RabbitMQ 的核心技术和应用场景。
2025-04-16 16:43:01
1505
原创 Spring Boot系列之使用Arthas Tunnel Server 进行远程调试实践
在开发和运维 Java 应用的过程中,远程诊断和调试是一个不可或缺的需求。尤其是当生产环境出现问题时,能够快速定位并解决这些问题至关重要。Arthas 是阿里巴巴开源的一款强大的 Java 诊断工具,它可以在不修改代码、不重启应用的情况下,实时诊断和分析 Java 应用的运行状态。而 Arthas Tunnel Server 则为远程连接提供了支持,使得我们可以通过 Web 管理页面远程连接到目标应用的 Arthas Agent,进行实时诊断。本文将详细介绍如何通过 Arthas Tunnel Server
2025-04-16 16:09:39
1064
原创 SpringBoot系列之集成Redisson实现布隆过滤器
在高并发和大数据量的场景下,布隆过滤器是一种非常高效的存储结构,可以用于快速判断一个元素是否存在于集合中。本文将介绍如何在Spring Boot中集成Redisson来实现布隆过滤器,并通过一个订单查询的示例来展示其应用。
2025-04-11 18:20:50
760
原创 Java 程序调试与生产问题排查工具Arthas
在 Java 开发中,调试和诊断问题往往是一个复杂且耗时的过程。Arthas(Alibaba Java Diagnostic Tool)作为一款强大的诊断工具,能够帮助开发者快速定位和解决问题。本文将深入探讨 Arthas 的核心功能和使用场景,帮助你更好地理解和运用这一工具。
2025-04-11 18:20:18
673
原创 网关接口超时?用Java实现接口快速返回,后台继续执行的方法
以上三种方法可以根据实际业务需求进行选择和实现。异步处理机制适用于需要立即返回响应且后续有处理逻辑的场景;线程池与FutureTask适用于需要对任务进行管理和控制的情况;定时任务处理后续操作则适用于任务执行时间不确定或需要定期检查任务状态的场景。通过这些方法,我们可以在网关接口超时限制下,实现接口快速返回,后台继续执行任务的目标,提升用户体验和系统性能。
2025-03-29 15:45:18
902
原创 如何在Win7系统中使用ADB命令卸载Vivo自带浏览器
通过ADB命令卸载Vivo自带浏览器是一种简单且高效的方法。只需确保设备已正确连接并授权,按照上述步骤操作即可轻松移除不需要的应用。如果需要卸载其他系统应用,可以参考类似的命令进行操作。Vivo手机自带的浏览器虽然功能丰富,但有些用户可能更倾向于使用其他浏览器。本文将详细介绍如何在Win7系统中通过ADB命令卸载Vivo自带浏览器,帮助用户轻松移除不需要的应用。希望本文能帮助您成功卸载Vivo浏览器!
2025-03-29 15:41:03
1358
原创 分布式与主流消息中间件总览
分布式系统的发展经历了从单体架构到分布式架构的演进过程。单体架构将所有功能集成在一个进程中,随着业务增长,其扩展性和维护性逐渐成为瓶颈。为了解决这些问题,垂直应用架构和分布式架构应运而生。垂直应用架构将不同功能模块分离到不同的服务中,而分布式架构则进一步将服务分布到多个节点,通过网络通信实现协同工作。消息中间件(Message Queue,简称MQ)是分布式系统中实现异步通信的重要工具。它允许应用程序之间通过消息传递进行解耦,提高系统的灵活性和可扩展性。
2025-03-10 11:46:08
827
原创 Redis系列之慢查询分析与调优
Redis 的慢查询日志是诊断性能问题的重要工具。标识 ID:唯一标识每条慢查询日志。发生时间戳:命令执行的时间。命令耗时:命令的执行时间(单位为微秒)。执行命令和参数:记录执行的命令及其参数。慢查询日志的配置参数如下(可在redis.confslowlog-log-slower-than 10000 # 默认 10ms,建议设置为 1msslowlog-max-len 128 # 最多存储 128 条慢查询数据Redis 慢查询是影响性能的重要因素之一。
2025-03-06 15:21:03
1680
2
原创 物联网IoT系列之MQTT协议基础知识
MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布订阅模式的网络传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境,在物联网环境应用广泛,能够实现传感器、执行器和其它设备之间的高效通信。
2025-03-06 12:54:40
1554
前后端接口安全技术JWT极速入门教程.pdf
2020-11-20
AWR手册_v1.0.pdf
2020-05-30
MySQL数据库之undo log和redo log工作原理.png
2020-10-15
部署构建Spring5.0.x版本源码教程参考.html
2020-11-19
Elasticsearch系列之极速入门与实践教程.html
2020-07-19
report_sql_monitor_html.sql
2020-06-19
report_sql_monitor_text.sql
2020-06-19
我的简书博客.rar
2020-06-14
Visual Studio Code搭建VUE开发环境.pdf
2024-08-07
Springframework核心技术AOP详细介绍文档.pdf
2020-11-24
SpringFramework5.0.x源码学习笔记.pdf
2021-02-03
基于Zookeeper实现分布式锁实践教程
2022-04-14
SpringBoot系列之搭建WebSocket应用
2024-06-20
Linux系列之不解压直接查看gzip压缩日志文件.pdf
2023-12-28
adb driver(32/64位)
2023-12-16
Redis系列之常有数据类型应用场景
2023-11-08
Springboot2.2.1版本集成Redisson急速入门与实践教程
2023-11-07
IDEA free-idea-mybatis-2019版本
2023-07-09
SpringCloud系列之API Gateway开发手册(Hoxton版本).pdf
2020-11-20
SpringBoot系列之RestTemplate使用示例
2022-06-12
bcprov-jdk15on-154.zip
2020-12-03
browser.min.js和polyfill.min.js(用于支持ES6语法兼容IE).zip
2021-06-03
jce6到8对应jar.zip
2020-12-17
bcprov-ext-jdk15on-154和bcprov-jdk15on-154下载
2020-12-17
bcprov-ext-jdk15on-154.zip
2020-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人