- 博客(11)
- 收藏
- 关注
原创 27届北京某小厂面经,八股跟场景题都有,面完第三天给offer(带思路)
这篇面经记录了一位求职者的技术面试经历,主要考察了Java开发相关知识点。面试内容涵盖:1)项目经验与权限体系设计;2)低代码平台实现;3)分布式事务处理(订单/库存场景);4)Java基础(集合、多线程、异常处理);5)Spring框架(IOC/AOP、事务);6)MySQL分组查询;7)工具包使用等。虽然遇到部分难题,但面试官给予了适当引导。作者最后鼓励正在求职的同学保持信心,强调多投递和多实践的重要性,并分享了自己作为双非院校学生通过实习积累获得机会的经历。(摘要长度:148字)
2026-08-22 17:37:21
219
原创 使用canal解决数据缓存不一致问题实操
本文介绍了五种数据缓存一致性解决方案,重点演示了基于Canal和RabbitMQ的方案三实现。主要内容包括:1)Canal安装配置,需确保MySQL开启binlog并配置ROW模式;2)RabbitMQ交换机、队列创建与绑定;3)项目代码实现,包括消息实体类、消费者监听及缓存删除逻辑;4)完整的测试验证流程。该方案通过监听MySQL的binlog变化,异步更新缓存,实现了系统解耦和高并发支持,虽然存在毫秒级延迟,但能通过重试机制保证最终一致性。文章提供了从环境搭建到代码实现的完整实操指南。
2026-06-04 15:15:06
429
原创 系统秒杀订单超时自动处理:RabbitMQ TTL+DLX实践
1.配置好rabbitmq(队列,交换机,绑定)2.下单成功后往nonalqueue队列中发消息,ttl在rabbitconfig中已经配置3.添加死信消费者,当死信队列中数据时处理:判断订单是否已经支付,yes:更改订单状态(已取消),回滚库存通过引入 RabbitMQ 的 TTL + 死信队列,我们实现了秒杀订单的准时、可靠、低数据库压力的超时自动取消功能。相比传统定时任务,该方案在高并发场景下更具优势,且完全基于 RabbitMQ 原生特性,无需安装额外插件。
2026-05-29 21:11:00
369
原创 零依赖实现java8项目中集成deepseek做简单对话功能
本文介绍了如何在JDK8环境下使用原生HTTP API调用DeepSeek大模型。主要内容包括:1) 构建兼容JDK8的HTTP请求客户端,通过HttpURLConnection发送POST请求;2) 处理JSON请求体和响应,包括字符串转义和内容提取;3) 实现身份验证,通过API Key访问DeepSeek服务;4) 将客户端封装为Spring Bean并提供RESTful接口。文章提供了完整的代码示例,涵盖从基础HTTP调用到Spring集成,并包含错误处理和测试验证方案。该方法无需依赖高版本JDK特
2026-05-18 22:38:40
601
原创 项目集成RabbitMQ实现异步下单教程,超详细超简单
本文介绍了RabbitMQ的安装配置及与Spring Boot的集成方法。首先通过Docker安装RabbitMQ 4.0.9-management版本,配置管理界面访问权限。然后详细说明了Spring Boot项目中集成RabbitMQ的步骤:添加依赖、配置连接信息、定义交换机/队列/RoutingKey、创建消息监听器处理异步订单。重点展示了如何通过RabbitTemplate发送消息,以及使用@RabbitListener注解实现消息消费。文章还提供了测试用例验证集成效果,并给出了订单处理的完整流程示
2026-05-17 23:19:15
565
原创 Redis滑动窗口做登录限流
本文介绍了使用Redis实现基于滑动窗口的登录限流方案,一分钟内限制5次登录请求。核心是通过Lua脚本原子化操作(清理过期数据、统计计数、判断限流、添加记录),使用ZSET存储请求时间戳,保证高并发下的准确性。代码实现包括:1)Lua脚本处理限流逻辑;2)Java服务类封装Redis调用;3)登录接口集成限流检查;4)IP工具类处理无手机号情况。方案可有效防止暴力破解,且当手机号为空时自动切换为IP限流,确保系统安全。
2026-05-14 23:20:23
370
原创 caffeine+redis实现二级缓存解决缓存雪崩
3.都没查到,从数据库中查,然后回填redis跟caffeine。2.再从redis中查,查到再回填内存。这里版本java8所以用的2.9.3。
2026-05-12 19:33:51
408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅