自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我只管埋头前行,剩下的交给时间。

写博客的目的是分享我在技术探索中的经验与心得,包括踩过的坑和解决方案,希望能为大家提供帮助。也期待与大家交流学习,共同成长。

  • 博客(196)
  • 资源 (1)
  • 收藏
  • 关注

原创 【文件增量备份系统】系统功能介绍与开源说明

本文介绍了一款高效的数据增量备份系统,旨在对用户数据进行备份。系统仅备份与上次不同的数据,显著提升效率。支持全备份和分散备份,可根据需求选择是否压缩文件。具备备份进度实时监控、任务管理、文件结构记录等功能,确保数据一致性。系统兼容多种数据库,包括SQLite和MySQL,易于部署和使用。此外,提供了文件清理和忽略列表功能,便于管理不必要的数据和排除特定文件。整体设计兼顾实用性与灵活性,适用于个人及企业级数据保护场景。

2024-02-04 18:26:00 1631 3

原创 【设计模式——学习笔记】设计模式介绍+七大设计原则介绍+23种设计模式汇总

本文探讨了软件工程中关键的设计模式与原则,包括设计模式的概念及其重要性,如提升代码的可维护性、扩展性和复用性。深入介绍了七大设计原则:单一职责、开闭、里氏替换、接口隔离、依赖倒置、迪米特法则及合成复用原则,每个原则均附带实例说明,如单一职责原则下交通工具类的重构,以及依赖倒置原则中接口的引入。

2023-07-09 09:40:44 1428 1

原创 【智能排班系统】开源说明

智能排班系统开源啦!可以从这篇文章中找到开源远程仓库以及一系列项目介绍的文章哟

2023-05-20 14:54:17 3945 4

原创 场馆订 场馆预订平台 数据库设计

本文档详细介绍了为一个体育场馆预订系统设计的数据库表结构,涵盖了用户信息、场馆详情、订单处理及支付等多个方面。核心表包括用户表(`user`)、场馆表(`venue`)、订单表(`time_period_order`)等,特别强调了通过位运算优化场地预订管理的策略。此外,还设计了评价、支付、操作日志等相关表来支持系统的完整功能,旨在实现一个高效、易于管理的在线预订平台。整个设计注重数据关系的合理性和操作的便捷性,以适应不同用户的需求。

2025-05-11 21:46:39 406

原创 场快订场馆预定平台开源说明

随着人们生活水平的提高和对健康、娱乐需求的增长,各类体育运动、文化活动等越来越受到大众的喜爱。然而,在组织这些活动时,找到合适的场地往往成为了一个难题。尤其是在城市中,公共资源有限,而需求量大,这导致了场地资源的紧张。此外,传统的场地预定方式效率低下,通常需要通过电话或者亲自前往场地进行咨询和预订,这种方式不仅耗时费力,而且信息更新不及时,容易造成资源浪费。因此开发一个高效、便捷的场馆在线预订平台至关重要,该平台可以帮助提高场馆使用率,降低预约冲突,优化广大用户的预订体验。

2025-05-08 19:42:19 1310 5

原创 预订接口 V2 优化:使用本地消息表保证订单生成、库存扣减的一致性

本文介绍了一种优化预订接口的方法,通过引入本地消息表解决分布式事务中的最终一致性问题。原先的实现是在一个事务中同时扣减库存和创建订单,容易因网络不稳定导致数据不一致。改进后的方法将业务操作和消息发送封装在本地事务中,并利用MQ进行异步解耦,确保了即使在网络故障时也能保证系统的数据一致性。此外,还设计了定时任务重试机制以及幂等性保障措施来进一步确保消息被成功处理,从而实现了高效可靠的分布式事务处理。

2025-05-02 22:28:31 662

原创 leetcode912. 排序数组 超级通俗易懂、全面的快速排序教程(优化重复元素、实例有序问题)

本文档详细介绍了快速排序算法及其优化方案,包括Lomuto分区与Hoare分区方法。快速排序是一种高效的排序算法,其核心在于通过选择一个“基准”来将数组划分为两个子数组,递归地对这些子数组进行排序。文档中不仅解释了这两种分区的基本思想和实现细节,还讨论了如何通过随机选择基准值来避免最坏情况的发生,并对比了它们的效率差异。此外,文中提到了JDK中采用的双轴快速排序及对小数组使用插入排序的优化策略,展示了高效排序算法在实际应用中的重要性。

2025-04-17 11:18:31 983

原创 leetcode51.N 皇后 回溯算法求解 + 效率优化

这篇文章探讨了解决经典N皇后问题的方法,采用回溯算法在标准棋盘上放置皇后,确保它们之间不能相互攻击。文中首先介绍了基本的思路和实现方式,通过递归尝试每个可能的位置并回退错误选择。为了提升效率,进一步提出了优化策略,包括使用额外的数组来标记已占用的列和斜线,避免重复检查。文章详细解释了如何利用这些技术减少时间复杂度,并给出了完整的Java代码实现,展示了从初步方案到性能优化的全过程。

2025-03-13 15:53:38 919

原创 leetcode28.找出字符串中第一个匹配项的下标,KMP算法保姆级教程(带动图)

本文详细解析了“查找字符串首个匹配项下标”问题的多种解法,包括调用API、暴力求解和KMP算法。调用API如`indexOf`方法可一行代码实现,简单高效但可能缺乏面试深度。暴力求解通过逐字符对比完成匹配,时间复杂度为O(m*n),适合理解基础逻辑。KMP算法利用最长相同前后缀信息优化匹配过程,显著提高效率,适用于大规模字符串处理场景,时间复杂度为O(m+n)。文章结合案例深入讲解了KMP算法中前缀表的构建与应用,帮助读者全面掌握字符串匹配的核心技巧。

2025-02-27 19:14:15 1154 4

原创 leetcode142.环形链表II 超直观的理解思路,还看不懂你打我

本文详细解析了LeetCode链表环问题“环形链表II”的解决方案。通过快慢指针法,介绍了如何判断链表是否存在环以及如何找到环的入口节点。核心思想是利用速度差使快指针追上慢指针以确定环的存在,并通过数学推导证明了从头节点和相遇点同时出发的两个指针必将在环入口相遇。文章还提供了Java代码实现及复杂度分析,时间复杂度为O(n),空间复杂度为O(1)。

2025-02-23 12:26:34 853 3

原创 leetcode59.螺旋矩阵II 很绕?理不清?一文给你快速理清思路

本文详细解析了LeetCode螺旋矩阵II问题的解法。通过一圈一圈填充矩阵的方式,将复杂问题分解为顶行、右列、底行、左列四步操作,每圈填充数量随圈数递减。文中清晰阐述了遍历规律与代码实现逻辑,包括如何确定起点、终点及循环次数,并特别处理了奇数阶矩阵中心元素的填充问题。附带完整Java代码示例,帮助读者理解并掌握这一经典算法题的解决思路。

2025-02-19 19:17:51 658 2

原创 《代码随想录》刷题笔记——回溯篇【java实现】

本文围绕经典算法问题展开,详细解析了多个LeetCode题目及其优化方案,涵盖组合、组合总和、电话号码字母组合、分割回文串、复原IP地址、子集、递增子序列及全排列等。通过递归与回溯方法,结合剪枝优化技巧,提供了高效解决方案。文章不仅展示了基础实现代码,还深入探讨了性能改进策略,如动态规划、数组初始化优化和去重方法等,帮助读者全面理解并掌握相关算法的核心思想与实践技巧。

2025-02-15 22:54:00 1168 1

原创 高颜值博客必备:CSDN自定义模块美化教程

本文详细介绍了如何通过HTML和CSS自定义CSDN博客主页样式,包括背景图设置、头像旋转、毛玻璃效果、流光动画等个性化装饰方法。同时,文章还提供了隐藏不必要的模块、优化布局的技巧,并展示了如何在自定义模块中添加推广信息和个人标签。通过将CSS文件存储到阿里云OSS并在线引用,可有效 circumvent 代码长度限制,实现丰富的视觉效果。跟随本文步骤,你可以打造一个独一无二且吸引人的个人博客主页。

2025-02-15 00:07:55 1047 7

原创 一文带你入门位运算

本文介绍了位运算的基础概念及其应用。位运算是直接对二进制位进行操作的高效运算方式,包括按位与(&)、或(|)、异或(^)、取反(~)、左移(<<)和右移(>>)。文章通过具体例子说明了位运算在判断奇偶、状态标记、数据压缩、快速计算以及找唯一数等场景中的实际用途。例如,利用位运算可以实现无需临时变量的数值交换,或者将多个小数字打包存储以节省空间。这些技巧不仅提升了程序性能,还在低级操作中发挥了重要作用。

2025-02-12 15:04:04 985 1

原创 基于 Redis GEO 实现条件分页查询用户附近的场馆列表

本文档详细介绍了如何使用Redis GEO模块实现场馆位置的存储与查询,以支持“附近场馆”搜索功能。首先,通过微信小程序获取用户当前位置,并将该位置信息与场馆的经纬度数据一同存储至Redis中。利用Redis GEO高效的地理空间索引能力,文档展示了如何初始化缓存、批量处理和存储场馆位置信息,以及执行基于距离和多种条件的分页查询。此外,还提供了计算两个地理位置间距离的工具类。此方案适用于开发具备地理定位功能的应用程序,如体育场馆预订系统。

2025-01-30 16:44:23 1204

原创 接口 V2 完善:分布式环境下的 WebSocket 实现与 Token 校验

本文介绍了如何使用WebSocket优化客户端与服务端之间的通信,特别是在处理异步订单创建通知的场景中。通过引入WebSocket代替传统的HTTP请求-响应模式,实现了服务器主动向客户端推送数据的功能。文中首先概述了WebSocket的优势,随后深入探讨了其在分布式系统中的具体实现。特别地,针对分布式架构下WebSocket连接状态同步问题,提出了一种基于消息队列广播机制的解决方案。同时,还强调了心跳检测机制的重要性,以维护连接的有效性。

2025-01-24 19:51:27 1731

原创 Git 小白入门教程

这篇文章详细介绍了版本控制的重要性,特别是通过Git实现的分布式版本控制相对于SVN集中式控制的优势。文章首先解释了版本控制的基本概念,强调了在文档或项目多版本迭代中备份与恢复任意版本的能力。接着,重点阐述了Git的历史背景、安装及配置方法,以及其基本理论和工作流程。文中还具体描述了如何使用Git进行项目的创建、克隆,日常操作命令,文件状态切换,.gitignore的使用规则,还有Gitee平台上的操作方式和Git分支管理等内容。旨在为读者提供从入门到实践的全面指南。

2025-01-22 19:34:15 1300

原创 接口 V2 完善:基于责任链模式、Canal 监听 Binlog 实现数据库、缓存的库存最终一致性

本文介绍了一种使用Canal监听MySQL Binlog实现数据库与缓存最终一致性的方案。文章首先讲解了如何修改Canal配置以适应订单表和时间段表的变化,然后详细描述了通过责任链模式优化消息处理逻辑的方法,确保能够灵活应对不同数据表的更新需求。最后,展示了如何利用RocketMQ消费Canal消息并通过责任链处理器同步更新缓存,从而保证数据的一致性。此方法有效提升了系统的可扩展性和维护效率。

2025-01-22 18:11:30 1388

原创 场馆预定平台高并发时间段预定实现V2

本文档介绍了场馆预订系统接口V2的设计与实现,旨在解决V1版本中库存数据不一致及性能瓶颈的问题。通过引入令牌机制确保缓存和数据库库存的最终一致性,避免因服务器故障导致的库存错误占用问题。同时,采用消息队列异步处理库存扣减和订单创建,显著提升了接口的吞吐量和响应速度。测试结果显示,新版接口在高并发场景下表现优异,平均响应时间为1801毫秒,吞吐量达到了每秒1045.8次请求,异常率仅为0.22%,极大改善了用户体验。

2025-01-21 12:03:43 1041 2

原创 Jmeter 动态参数压力测试时间段预定接口

本文档详细介绍了如何使用ApacheJMeter进行压力测试,以评估预定接口在高并发场景下的性能表现。通过创建线程组模拟不同数量的用户并发请求,利用CSV文件动态配置时间段ID和用户token,确保了测试数据的真实性和有效性。文档中还展示了如何设置JMeter的各项参数、添加HTTP请求头、查看结果树和聚合报告等操作步骤。最终,通过一次针对4000用户并发的压测实例,分析了样本数、响应时间、异常率及吞吐量等关键指标,验证了系统的稳定性和可靠性。

2025-01-19 21:07:27 1395

原创 《代码随想录》单调栈:高性能Java实现与详细图解

本文深入探讨了单调栈在解决多种算法问题中的应用,包括“每日温度”、“下一个更大元素”系列以及“接雨水”等问题。通过详细分析基础实现与优化策略,展示了如何利用单调栈有效地寻找数组中任一元素左右第一个大于或小于它的元素位置,从而提高算法效率。文中不仅提供了详尽的Java代码示例,还对比了不同方法之间的差异和优势,旨在帮助读者掌握单调栈的核心思想,并能灵活应用于实际编程挑战中。此外,文章也介绍了双指针等替代方案,为解决问题提供了多角度思考路径。

2025-01-13 22:23:22 963 1

原创 基于 FastExcel 与消息队列高效生成及导入机构用户数据

本文档详细介绍了开发机构用户数据导入功能的必要性及实现方法,如针对教育机构如学校场景下提高用户体验和管理效率的需求。文中首先分析了直接对接学生管理系统与平台对接的优势,包括减少人工审核成本、提高身份验证准确性等。接着介绍了FastExcel作为处理Excel文件的高效工具及其在用户数据导入导出中的应用,并展示了如何利用JavaFaker生成测试数据,以及通过消息队列异步处理Excel数据导入以保证效率和稳定性。最后,提供了SQL批量插入语句示例,用于处理用户数据的高效入库。

2025-01-13 22:09:02 1507

原创 分布式环境下定时任务扫描时间段模板创建可预订时间段

本文详细介绍了场馆预定系统中时间段生成的实现方案。通过设计场馆表、时间段模板表和时间段表,系统能够根据场馆的提前预定天数生成未来可预定的时间段。为了确保任务执行的唯一性和高效性,系统采用分布式锁机制和定时任务,避免重复生成时间段。通过流式查询优化大数据处理,减少内存占用和网络延迟。同时,使用唯一复合索引保证时间段生成的幂等性,避免重复插入。为提高系统性能,引入二级缓存和Redis管道技术,加速数据查询和缓存预热,确保用户在预定时间段时获得快速响应。整体方案兼顾了系统的稳定性、高效性和可扩展性。

2025-01-06 16:19:12 1407

原创 场馆预定平台高并发时间段预定实现V1

本文介绍了一个高效处理高并发场馆预订请求的系统设计方案。通过使用Redis缓存和位图技术,系统能够快速管理场地的可用性和预订状态。采用Lua脚本确保操作的原子性,结合责任链模式进行参数校验,并通过事务保证数据一致性。系统还实现了订单生成、延时关闭订单等功能,确保资源的公平分配和高效利用。整体设计旨在提供稳定、高性能的预订接口,满足高并发场景下的用户需求。

2025-01-05 20:19:01 1950 5

原创 支付宝沙箱指南:如何实现手机网站支付

本文详细介绍了支付宝沙箱支付的使用方法,包括支付、退款和交易查询的完整流程。通过沙箱环境,开发者可以模拟真实支付场景,无需使用真实资金。文章提供了Java代码示例,展示了如何发起支付、处理回调、进行退款以及查询交易状态。此外,还探讨了支付过程中可能遇到的问题及解决方案,如订单超时处理和内网穿透技术的应用,帮助开发者更好地理解和集成支付宝支付功能。

2025-01-05 17:08:33 944 4

原创 腾讯云域名购买、备案、解析:一步到位的实操手册

本文档简要介绍了在腾讯云平台购买域名、完成网站备案及配置域名解析的流程。首先,用户需搜索并注册心仪的域名,创建并通过审核信息模板后完成购买。接着,针对个人用户,文档指导如何启动和完成工信部要求的网站备案程序,包括填写网站信息、签署文件以及通过电话和短信验证。最后,文章讲解了如何设置域名解析,使域名能够指向正确的服务器IP地址,并提及子域名的添加方法,确保网站可以通过易记的域名访问,同时满足中国大陆法律对网站悬挂备案号的要求。

2025-01-03 20:42:49 2168 2

原创 一文带你掌握最长重复子数组、最长公共子序列、判断子序列的区别

本文档探讨了动态规划在解决数组与字符串匹配问题中的应用,特别是针对最长重复子数组、最长公共子序列及判断子序列这三个经典问题。文中详细介绍了每种问题的背景、核心思路及其对应的Java实现代码,并通过图示和实例解释了动态规划表(DP Table)的构建与优化方法,如使用滚动数组减少空间复杂度。此外,对于判断子序列问题,文档还提供了双指针法的简洁解决方案。这些技术不仅有助于理解动态规划的本质,也为解决类似问题提供了宝贵的编程技巧和优化思路。

2024-12-22 22:52:04 1121

原创 面向微服务的 Spring Cloud Gateway 的集成解决方案:用户登录认证与访问控制

描述了基于Spring Cloud Gateway的微服务网关及Admin服务的实现。网关通过定义路由规则,利用负载均衡将请求转发至不同的后端服务,并集成了Token验证过滤器以确保API的安全访问,同时支持白名单路径免验证。Admin服务负责用户管理,包括注册、登录、登出等功能,采用布隆过滤器优化用户名存在性检查,使用Redis存储会话信息并结合JWT进行身份验证。此外,文档还介绍了ShardingSphere的数据分片与加密配置,以及用户上下文在请求链路中的传递机制,确保了跨服务调用时用户信息的一致性

2024-12-22 14:58:27 1388

原创 整合 Knife4j 于 Spring Cloud 网关:实现跨服务的 API 文档统一展示

本文档概述了构建和配置基于JDK 17、Spring Boot 3.0.7及Spring Cloud 2022.0.3的微服务系统,特别聚焦于集成Knife4j以增强API文档管理和接口测试功能。文中详细介绍了如何在Spring Boot应用中添加Knife4j依赖、配置Swagger UI路径和API分组,以及使用注解为接口添加描述信息。此外,文档还讲解了通过Spring Cloud Gateway聚合多个微服务的API文档的方法,并说明了如何设置白名单和基本认证来保护API文档访问。

2024-12-20 22:52:31 1771

原创 基于 mzt-biz-log 实现接口调用日志记录

`mzt-biz-log` 是一个用于记录操作日志的通用组件,旨在追踪系统中“谁”在“何时”对“何事”执行了“何种操作”。该组件通过简单的注解配置,如 `@LogRecord`,即可实现接口调用的日志记录,支持成功与失败场景下的差异化日志描述。它还提供了丰富的功能,包括但不限于租户隔离、日志子类型划分、条件性日志记录以及枚举值解析等。此外,`mzt-biz-log` 支持自定义日志存储逻辑,允许开发者根据业务需求将日志持久化到数据库或其他存储媒介。整体设计简洁高效,适用于微服务架构中的日志管理需求。

2024-12-16 11:10:14 1552 2

原创 使用 Canal 监听 MySQL Binlog 日志实现最终一致性

本文档探讨了在分布式系统中处理超时未支付订单的挑战与解决方案。首先,分析了原始实现中使用`@Transactional`注解确保本地事务一致性的问题,在跨服务调用时可能导致的数据不一致。接着,提出了一种替代方案:通过开启MySQL的Binlog日志,利用Canal监听数据库变更,并异步发送消息至RocketMQ,实现了订单状态变更与库存恢复的最终一致性。该方案提高了系统的容错性、处理效率和稳定性,同时支持流量削峰和幂等性设计。文档还详细介绍了MySQL Binlog的配置、Canal中间件的部署与配置,以及

2024-12-15 10:56:26 1579

原创 《代码随想录》刷题笔记——二叉树篇【java实现】

录友刷《代码随想录》的做题记录

2024-11-30 09:38:49 754

原创 《代码随想录》刷题笔记——栈与队列篇【java实现】

录友刷《代码随想录》的做题记录

2024-11-29 22:23:33 882

原创 如何给GitHub的开源项目贡献PR

本文详细介绍了如何向开源项目“代码随想录”贡献自己的题解。首先,需要Fork原项目的仓库至个人GitHub账户,然后解决克隆仓库时可能遇到的SSH密钥问题。接着,按照标准流程对本地仓库进行代码或文档的修改,并提交至个人仓库。最后,通过创建Pull Request的方式向原项目发起合并请求,完成对开源项目的贡献。文中还提供了详细的命令示例和截图指导,帮助读者轻松上手。

2024-11-29 21:34:14 888

原创 “华为杯”研究生数学建模比赛历年赛题汇总(2004-2024)

“华为杯”研究生数学建模比赛历年赛题汇总(2004-2024)

2024-11-26 14:46:07 2704

原创 基于 Spring Boot 实现图片的服务器本地存储及前端回显

本文探讨了在网站开发中图片存储的各种方法,包括本地文件系统存储、对象存储服务(如阿里云OSS)、数据库存储、分布式文件系统及内容分发网络(CDN)。文中详细对比了这些方法的优缺点,并针对不同规模的应用推荐了相应的存储策略。此外,还提供了一个基于SpringBoot框架实现服务器本地图片存储与回显的具体示例,涵盖了从图片上传到通过网关服务安全访问图片的全过程。

2024-11-26 14:17:58 2795

原创 Java 代码编辑器 IDEA 使用技巧(涵盖快捷键、插件、推荐设置)

介绍IDEA的使用技巧,如快捷键,好用插件,其他设置

2024-11-06 23:22:11 971

原创 【易售校园二手平台】开源说明(包含项目介绍、界面展示与系列文章集合)

校园二手交易平台,包含商品发布、浏览、收藏、点赞、评论、关注、私聊功能。

2024-11-06 15:35:13 1063

原创 【计算机网络】概述

本文档详细介绍了计算机网络的基本概念及其在中国的发展状况,涵盖了网络类型、互联网与因特网的区别、ISP的作用、网络通信中的三种主要交换方式及其优缺点,并深入解析了计算机网络的层次结构与数据传输流程,包括从应用层到物理层的数据封装与解封装过程。此外,文档还对比了交换机与路由器的功能差异,为读者提供了全面的网络基础知识。

2024-11-01 21:30:22 892

原创 【若依管理系统】前后端分离单机版开发必备小技巧

该文主要总结本人在使用若依管理系统时的开发小技巧,涵盖前后端。例如如何写单元测试,如何使用分页查询,如何设置日志等级,如何替换系统图标……

2024-11-01 20:56:16 1156

华为杯研究生数学建模赛题大全(2016至今)

汇集华为杯研究生数学建模赛题大全(2016-2024)各年赛题,19、20、21年还有欠缺

2024-12-30

华为杯研究生数学建模赛题大全(2004-2015)

汇集华为杯研究生数学建模赛题大全(2004-2015)各年赛题

2024-12-30

Redis安装包5.0.14.1

Redis安装包5.0.14.1,提供msi和压缩包版本

2024-08-21

MemoryAnalyzer 工具包

包括win、mac、linux版本

2024-06-29

22.1.0版本Cplex部署关键文件

使用这个压缩包下面的文件之后,无需在Linux中安装Cplex

2023-11-21

Cplex 22.1.0 Linux版本

Cplex 22.1.0 Linux版本

2023-10-31

项目版本管理软件 Git windows版本安装包

项目版本管理软件 Git windows版本安装包

2023-10-20

Node.js安装包压缩包

里面包括:node-v16.18.1-x64、node-v14.13.0-x64 两个版本

2023-09-28

Mysql8软件压缩包

Mysql8软件压缩包,解压之后轻松使用

2023-09-28

易售小程序我的界面上方背景

易售小程序我的界面上方背景

2023-09-02

cglib代理模式要使用的相关jar包

cglib代理模式要使用的相关jar包

2023-08-02

省市区数据表+数据sql

省市区数据表+数据sql

2023-02-11

NPPJSONViewer.zip

NodePad++ JSON格式化插件

2022-01-17

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

TA关注的人

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