- 博客(7)
- 收藏
- 关注
原创 java多线程笔记
计算桶位置 -> 若桶为空则 CAS 插入节点 -> 若为链表 / 红黑树,则 synchronized 锁住当前桶的头节点后操作 -> 链表长度达到阈值且数组容量≥64则转为红黑树。:synchronized 锁哈希桶头节点 + CAS。数组 (Node[]) + 链表 / 红黑树。锁粒度更细(单个桶),并发度更高。:Segment 分段锁。数组 (Segment[]) + 数组 (HashEntry[]) + 链表。锁的粒度是 Segment。Java线程状态定义在。
2026-02-01 23:04:07
692
原创 消息中间件笔记
压缩(compact):对于带Key的Topic,保留每个Key的最新版本消息,删除该Key的所有历史旧版本。配合消费者失败重试机制(如Spring Retry),并在多次重试失败后,将消息投递到死信交换机(DLX) 进行兜底处理,避免无限循环消费。当Leader故障时,Kafka会从ISR(同步副本集) 中自动选举新的Leader,实现故障自动转移,服务无感知。页缓存(Page Cache):直接利用操作系统页缓存,而非JVM堆内存,避免GC开销,将磁盘访问转化为内存访问。
2026-01-28 09:58:13
656
原创 Spring,Mybatis相关笔记
prototype Bean 在完成初始化(步骤 6)后,Spring 容器不再管理其销毁(步骤 8),销毁由用户自行处理。,根据请求 URL 找到对应的 Handler(通常是 Controller 方法)及拦截器。7. Bean 就绪,存在于容器中,直至上下文销毁。1. 实例化(通过构造函数创建对象)。对象(封装了 SQL 和映射信息)。(代表一次数据库会话,非线程安全)。* Executor 可能使用。来适配并执行该 Handler。解析视图,然后渲染并返回。执行器执行 SQL。
2026-01-27 09:06:20
544
原创 LeetCode 1542找出最长的超赞子字符串
接着我们定义pre数组表示从0到下标i中字符出现的奇偶性,那么pre[i]^pre[j]就可以表示从下标j+1到下标i的字符串中字符出现的奇偶次数(异或运算,相异为1,相同为0).!的变量应该包含一个1,其它全为0,那么应该寻找一个pre[i]值使得pre[i]中仅有一个二进制位与pre[j]不同,其它全部相同。的变量应该全为0,意味着下标i对应的pre[i]与下标j对应的pre[j]完全相同,这样子异或得到的值才会是0。而下标为1到下标为3的子串中字符出现次数的奇偶性为10000。
2024-05-22 20:35:08
529
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅