自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RocketMQ如何保证消息顺序?

比如 特别严格要求先进先出,那么就1和2都要保证。

2025-10-12 21:21:03 124

原创 场景题:假设用校园网访问某个资源很慢,但是用流量访问就很快,问题出在哪里?

1. 校园网会对游戏、视频等非教学类资源做带宽限制,优先保障教学科研用网,而流量无这类管控,访问更顺畅;2. 校园网DNS解析效率低,可能指向偏远服务器,运营商DNS能匹配到更近的优质节点,解析和访问更快;3. 晚上校园网用户集中,共享带宽被抢占导致拥堵,流量是独立链路,不受这种高峰拥堵影响。

2025-09-30 08:00:00 539

原创 Mafka vs Kafka vs RocketMQ

原生 Kafka 不直接提供 “延迟消息 / 定时消息”,通常需要使用外部插件 / Scheduler / 预排序 + polling 的方式实现(如 Kafka + DelayQueue / Kafka Streams / 自己实现)Mafka 内部集成统一运维平台 / 监控 / 授权 / 队列申请管理 / 变更平台 / 自动化能力(包括队列申请、监控告警、指标管理)延迟 / 死信机制是耦合的:死信队列通常借助延迟消息机制实现(暂时无法消费的消息先进入死信 / 延迟,再到期后重试)队列可以跨集群迁移;

2025-09-29 08:00:00 949

原创 为什么要引入状态机,而不是直接用 if 改状态?

状态机在系统设计中能有效解决if判断带来的问题:逻辑分散、状态合法性难保证、并发一致性问题、扩展性差等。状态机通过集中管理状态转换、保证合法性、提升并发安全性、便于扩展和审计等优势,特别适合状态超过三种、涉及定时任务/重试、多线程修改等复杂场景。虽然if判断在简单系统中更快捷,但状态机能为复杂系统提供更好的结构清晰度、扩展性和维护性,是应对系统演进的重要工程实践。

2025-09-28 18:07:44 943

原创 秋招面经:小红书商业技术后端一面9.15

6.(实习)你们是如何解决的缓存一致性问题?10.场景题粉丝列表和粉丝数,数据库表设计,如何分库分表。4.本地缓存和分布式缓存,为什么存到本地?5.解决 缓存一致性问题的方案?延迟双删,先更新数据库再更新缓存。11.线程池核心参数 运行原理。3.能具体说说你缓存了什么?2.具体哪些是你做的呢?8.说说syn和ree锁。13.算法:颜色分类。

2025-09-28 17:44:05 227

原创 一文搞懂 ThreadLocal 与 ThreadLocalMap:常见误区与核心原理

1个线程 → 1个ThreadLocalMap(静态内部类,无Map接口,线性探测哈希) → N个ThreadLocal实例 → N个Entry(弱引用key,强引用value)1 个 ThreadLocalMap:每个线程唯一,是 ThreadLocal 的静态内部类,通过 Entry 数组和线性探测法存储数据,不具备通用 Map 的接口特性;N 个 ThreadLocal 实例:每个实例对应一种线程本地数据类型,作为 Entry 的 key(弱引用),实现数据分类存储;

2025-09-23 16:04:08 660

原创 八股:redis集群模式中的槽迁移

秋招在即,大家背八股的时候,心里会不会有些疑惑。集群模式中的槽,如果遇到节点挂掉?新增节点?的时候 会触发怎样的场景?

2025-09-18 20:46:01 495

原创 八股:MySQL缓存池(控制块+三个链表)

简单说说MySQL缓存池,如有不对,欢迎指正在 InnoDB 存储引擎中,是提升数据库性能的核心组件。所有的数据页、索引页在被访问时,都会优先放入缓冲池,以减少磁盘 IO。为了更高效地管理缓冲池中的数据页,InnoDB 使用了的机制。缓冲池空间分配很大时,会分为多个缓冲池实例,每个事例中有多个,以便在重新分配内从空间时方便拷贝。

2025-09-16 08:00:00 671

原创 hashcode做数据分片,冷热数据导致倾斜?

以下为我实习总结的新经验,供大家参考 欢迎指正!hash这个的话其实工作中用的挺多的,比如在为了提高本地的缓存命中率会把同样参数的一些请求路由到同一台机器上,但坏处是集群成了一个有状态化的集群,不方便扩容。我所在组的业务是根据用户id,把用户数据hash到了不同的表中,由于用户活跃程度可能造成的数据倾斜问题。

2025-09-15 08:00:00 800

原创 极端情况下,MQ宕机,消息持久化时丢失,怎么办?

“不要把鸡蛋放在一个篮子里”。中间件的高可用特性是 “第一道防线”,解决 99.9% 的常规问题;而业务层的降级、对账、重试等机制是 “第二道防线”,解决剩下 0.1% 的极端问题。两者结合,才能在复杂的分布式环境中,实现真正的 “高可用”——不是不出现故障,而是故障发生后,系统能自动或半自动地恢复,且对用户影响最小。

2025-09-14 20:27:38 398

原创 实习日常:通过写泛型方法 理解反射

反射是 Java 提供的一种机制,它可以让你在运行时检查类的属性、方法、构造函数等,甚至可以动态地修改它们。Java 反射 API 位于包中,它允许程序在运行时通过来获取类的信息(比如方法、字段等)。其中第一个getField方法是根据具体的某一字段来获取目标实体类的反射对象Field而第二个getFieldValue方法是获取反射对象Field中的值以下是针对该方法 反射需要注意的点。

2024-12-27 16:38:13 529

原创 若依框架RuoYi+Minio实现OSS 本地存储功能

4.打开webUI中的网站 并根据RootUser和RootPass输入账号密码完成登录。3.输入 其中D:\insurance_data_put是你存放文件目的位置,配置完成后即可上传,在目的文件夹和桶中都可以看到文件。1.将minio.exe文件所在位置打开。2.在路径框中输入cmd 打开命令行终端。用于指定控制台的地址和端口,用于指定服务器的地址和端口。5.创建桶并修改权限。

2024-12-13 14:52:45 951

原创 实习日常:若依框架出现Invalid bound statement (not found)

在插入数据时提醒Invalid bound statement (not found): org.dromara.InsuranceProduct.mapper.InsuranceProductQueryMapper.updateById。重新生成一张数据库表 带主键id 最好是bigint类型的就解决了。看了网上的方法觉得自己采的坑还有mapper目录的问题。

2024-12-10 17:28:14 459

原创 C语言大作业——简单的文字游戏

刚接触c语言和我一样的同学可以一起交流,代码中不懂的可以问我,希望我的代码对你理解c语言有所帮助。下面x,boss,hp,s,f分别代表 自身坐标,boss坐标,自身血量,血瓶数量,钓竿数量。保存游戏与读取游戏 我只是将游戏数据简单的储存了起来,例如人物血量,与boss的距离。整理背包(这项没什么用,只是写作业要求需要运用到数组,临时加的,冒泡排序)说明:我是一名刚入门的小白,代码有问题请大佬指正,分享自己完成的作业。作业要求:运用到结构体,数组,指针,地址传参等。

2024-01-11 13:06:57 1850 1

空空如也

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

TA关注的人

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