自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 点评plus---异步消费之后可靠的生成订单

本文介绍了秒杀系统中异步订单处理的实现方案。系统通过Redis预扣库存和Lua脚本进行原子性校验后,将订单信息封装成Kafka消息异步处理。核心代码展示了订单创建的完整流程:首先检查用户是否已购买(防重复),然后乐观锁扣减库存,接着保存订单和路由信息,最后缓存订单数据并记录对账日志。该方案通过消息队列实现了流量削峰和业务解耦,同时使用事务保证数据一致性,并采用多种措施(乐观锁、幂等控制、对账日志)确保系统可靠性。整个处理过程体现了高并发场景下的典型设计模式,兼顾了性能与数据安全。

2026-05-28 15:07:01 92

原创 消息发送失败处理与 DLQ 补偿流程

本文介绍了优惠券信息变更时通过Kafka消息通知消费者清除缓存的失败处理流程。当消息发送失败时,系统会记录错误日志并检查重试次数:若未达上限则采用指数退避策略重试;若已达上限则将消息转入死信队列(DLQ),并记录相关指标。对于DLQ处理结果,无论成功或失败都会记录日志,失败时需人工介入。流程通过两个流程图清晰展示了正常发送、重试机制和DLQ补偿的全链路处理逻辑。

2026-05-26 22:06:27 127

原创 黑马点评plus --异步秒杀重构升级

本文介绍了黑马点评plus项目中的异步秒杀重构升级方案。核心流程包括前端发起秒杀请求,后端通过分布式锁和缓存策略处理高并发场景。关键技术点包括: 采用多级缓存(本地缓存+Redis)存储优惠券信息 使用双重检查+分布式锁+布隆过滤器组合方案解决缓存击穿和穿透问题 通过两次Redis缓存检查防止缓存击穿,避免大量线程同时访问数据库 分布式锁机制确保只有一个线程能查询数据库并更新缓存,其他线程等待后直接读取缓存结果 该方案有效降低了数据库压力,提高了系统在高并发场景下的性能和稳定性。

2026-05-21 12:10:03 272

原创 第二次蓝桥杯总结(上)

《蓝桥杯参赛心得:从省二到省一的成长》 本文记录了作者参加蓝桥杯Java组的参赛经历和感悟。作为河南赛区JavaB组选手,作者去年大一参加C++组获得省二,今年转战Java组后以最后一名的成绩获得省一。文章坦承自己在算法学习上的停滞,提到比赛中因审题不仔细导致第一题失分,以及在难题面前选择暴力解法的策略。尽管存在遗憾,作者仍保持积极心态,表示"宁做凤尾不做鸡头",并计划通过刷题准备接下来的国赛。这段经历展现了作者从省二到省一的成长历程和技术反思。

2026-04-29 13:19:32 139

原创 cookie和session是什么??

摘要:Cookie是浏览器存储的小型数据片段,通过HTTP请求与服务器交互,用于识别用户身份。服务器通过Set-Cookie设置并返回给浏览器保存,后续请求自动携带。但Cookie存在安全风险,易被篡改,适合存储标识而非敏感信息。Session机制更安全,服务器核对用户凭证后生成SessionId存入Cookie返回浏览器,之后请求携带该Id让服务器识别用户身份。Session数据存储在服务器端,仅通过Cookie传递SessionId,既保持状态又保障安全。

2026-04-20 21:26:17 66

原创 RedisTemplate 两种序列化实践方案

本文介绍了RedisTemplate的两种序列化实践方案。方案一通过自定义RedisTemplate使用GenericJackson2JsonRedisSerializer实现自动序列化,代码简洁但会存储类信息;方案二使用StringRedisTemplate配合手动JSON序列化,数据更纯净但需额外编码。方案一适合纯Java项目,方案二适合多语言共享场景。两种方案各有优缺点,开发者可根据项目需求选择适合的方式,其中纯Java项目推荐方案一,跨语言场景推荐方案二。

2026-04-07 14:58:39 120

原创 Java 反射机制

摘要:Java反射机制允许程序在运行时动态获取和操作类的信息。通过反射可以获取Class对象(三种方式)、创建对象、调用方法和访问字段,甚至能操作私有成员。反射提供了强大的灵活性,但会破坏封装性且性能较低,使用时需谨慎处理异常和安全问题。典型应用包括动态加载类、框架开发等场景。

2026-03-12 15:42:29 238

原创 如何使用codex和claude

本文介绍了通过第三方网站购买和使用Codex与Claude API的方法。作者在https://0011.ai购买API密钥后,使用CCswitch工具配置自定义API接入点(https://aicoding.2233.ai)。详细展示了在VSCode中安装插件并成功调用的效果图,同时提供了自己的邀请码BMQFQSKD。全文包含具体操作步骤截图,为非官方API使用提供了可行方案。

2026-03-03 21:27:09 1461

原创 OSSOperator作用

摘要 该Java类AliyunOSSOperator实现将文件上传至阿里云OSS的功能。核心方法upload接收文件内容和原始文件名作为输入,通过环境变量获取访问凭证,自动生成按日期(yyyy/MM)组织的存储路径和UUID命名的文件。使用OSS客户端配置V4签名,建立与指定地域端点的连接后执行上传操作,最终返回文件访问URL。类采用Spring组件注解,通过属性注入方式获取OSS配置参数,确保安全性和灵活性。整个过程包含文件重命名、日期目录分类、凭证安全获取等关键步骤,实现了高效可靠的文件云存储方案。

2026-03-03 10:03:22 904

原创 力扣98:验证二叉搜索树 - 深入理解与实现

摘要: 本文详细解析了力扣第98题"验证二叉搜索树"的解决方案。通过分析BST的性质(中序遍历结果为严格递增序列),提出了三种实现方法:1)递归中序遍历法,利用前驱节点实时验证;2)迭代中序遍历法,使用栈结构;3)上下界限递归法。重点推荐递归中序遍历法,其时间复杂度O(n),空间复杂度O(h)。文章包含详细的代码实现、复杂度分析和多种测试用例,特别强调了边界条件的处理。最后建议读者拓展练习相关BST题目(700、701、450、230题)以巩固理解。

2026-02-10 16:12:07 446

原创 堆排序(Heap Sort)算法完全解析:从理论到Java实现

堆排序是一种基于完全二叉树数据结构的比较型排序算法,由J. W. J. Williams在1964年提出。它以其独特的原地排序特性和稳定的O(nlogn)时间复杂度而闻名,是十大经典排序算法之一。时间复杂度:O(nlogn) - 最优、最坏、平均情况都是O(nlogn)空间复杂度:O(1) - 原地排序,无需额外空间稳定性:不稳定排序适用场景:大数据排序、优先级队列、Top K问题。

2026-02-03 17:17:56 967

原创 如何用数组模拟邻接表建图

本文介绍了用数组模拟邻接表的链式前向星实现方法。主要包含三个部分:1) 定义边结构体Edge,包含终点to、下一条边编号next和权重w;2) 使用head数组存储每个节点的头部边编号,cnt变量记录边数;3) 提供add函数实现节点间的连接,通过更新head和edge数组来构建图结构。该方法能高效地表示和存储图结构,适用于图的各类算法实现。

2025-09-25 11:45:37 166

原创 如何用递归逆序一个栈

【代码】如何用递归逆序一个栈。

2025-08-06 11:37:50 116

原创 二叉树的几种遍历

本文介绍了二叉树的三种遍历方式:先序、中序和后序遍历,包括递归和非递归实现。递归遍历通过调整输出语句位置实现不同遍历顺序;非递归遍历使用栈结构模拟递归过程,其中先序遍历直接入栈处理,中序遍历采用左链入栈策略,后序遍历则巧妙利用先序中右左顺序再反转结果实现左右中顺序。文章提供了完整的C++代码示例,展示了每种遍历的具体实现方法,并解释了关键操作步骤,适合作为二叉树遍历学习的参考资料。

2025-07-11 12:04:31 313

原创 二分查找:c++自带

二分

2025-07-08 09:53:01 177

原创 N皇后问题(有超·纤细位运算版本)

N皇后问题

2025-07-05 18:34:15 361

原创 递归入门动态规划(二维)总结

一些动态规划的题(来自左程云视频总结)

2025-07-05 09:56:05 1065

原创 约瑟夫环模拟and动态规划

约瑟夫环问题

2025-07-02 20:43:50 325

原创 第一次参加蓝桥杯

估计了一下,(我是c++b组),大概能拿到18分左右这样子 , 考完之后他给我的感觉就是,感觉这个比赛还行,题目也并非普通人不可触及的地步,就是好好学,坑定能拿个好名次,.我学的时间不多也不深,刷题也不多,想考好自然是没把握,但这些只是时间问题,我况且还有好多东西没学到呢,总之,还不错这个比赛,让这具尸体还能有个目标去努努力什么的.加油!明年再战时我又会进步成什么样子了呢。今天蓝桥杯结束了, 浅浅总结一下吧,毕竟我报名的时候还是很在意的这个蓝桥杯的奖的(是满心功利)

2025-04-12 23:16:20 223

原创 高精度复习一下下

数组实现四种高精度

2025-04-09 23:31:54 184

原创 istringstream 使用详解(适合初学者)

就像是一个"字符串转换器",当你需要从字符串中提取格式化数据时,它是最方便的工具之一!简单来说,它可以把一个字符串变成可以"读取"的数据流。是 C++ 标准库中的一个类.

2025-04-06 11:51:26 868

原创 (暴力+滑动窗口)最长连续不重复子序列

最长连续不重复子序列(暴力+滑动窗口)

2025-03-28 21:41:34 258

原创 2025-1-14 位运算的温故 203648

补码是计算机中最常用的表示方式。正数与原码相同,负数则是反码加1。PS:位运算通常直接操作补码。

2025-01-27 12:42:53 594

原创 vector动态数组:

vector动态数组常见操作

2024-12-14 21:05:59 261

原创 密码的密码吗

密码的,前面写汉字后面写个英文感叹号密码,,,我还寻思半天。

2024-12-14 18:17:08 279

原创 vector动态数组:

#

2024-12-13 22:44:01 590

原创 函数递归:实现十进制转二进制(C语言实现)

递归实现十进制转二进制(短除法)

2024-12-06 23:13:43 652 2

原创 找二维数组中的鞍点(C语言)

这里提供找鞍点的两个思路

2024-12-06 16:33:58 694

原创 win11使用wsl2安装ubuntu遇到0x80370114问题的解决方法

0x80370114错误,windows,11实现Linux环境

2024-11-28 21:38:16 9864 3

空空如也

空空如也

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

TA关注的人

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