上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页
摘要: http对于报文每一行都有一个分隔符或者说换行符,对于这个换行符进行分割 http的header有一个body协议,可以存储字节数组的一个长度 阅读全文
posted @ 2025-07-14 21:00 飘来荡去evo 阅读(18) 评论(0) 推荐(0)
摘要: 一、启动阶段 首先每个节点先给自己投票,每个节点有个机器id,进行广播比较id大小,最终选出投票数最多的内个 一、启动后master宕机 会给每个节点生成trsanctionId事务id,是全局自增的,每个节点的机器id和事务id一起来做一个权重,进行广播比较id大小,最终选出投票数最多的内个。中间 阅读全文
posted @ 2025-07-14 20:55 飘来荡去evo 阅读(20) 评论(0) 推荐(0)
摘要: 线程池中workQueue的三种类型的区别 阅读全文
posted @ 2025-07-14 16:48 飘来荡去evo 阅读(13) 评论(0) 推荐(0)
摘要: Redisson 的延迟任务(基于 TimerTask)主要依赖 时间轮(HashedWheelTimer) 和 Redis 延迟队列 两种机制实现。其核心原理是通过高效的任务调度算法和 Redis 的持久化能力,实现分布式环境下的延迟任务执行。以下是内部原理的详细解析: ⏱️ 一、时间轮(Hash 阅读全文
posted @ 2025-07-14 11:42 飘来荡去evo 阅读(164) 评论(0) 推荐(0)
摘要: 在Linux服务器上查看MySQL日志的步骤如下,主要分为定位日志文件和查看日志内容两个阶段: 一、定位MySQL日志文件 方法1:通过MySQL配置文件查找 打开MySQL配置文件(通常位于以下路径之一): bash sudo vi /etc/my.cnf # 最常见 sudo vi /etc/m 阅读全文
posted @ 2025-07-14 01:09 飘来荡去evo 阅读(550) 评论(0) 推荐(0)
摘要: 在 MySQL 的 InnoDB 存储引擎中,索引的叶子节点在逻辑上是顺序存储的(通过双向链表连接),但在物理磁盘上不一定是连续的顺序存储。 这是一个非常重要的区别。 以下是详细的解释: 逻辑顺序(通过链表保证): InnoDB 使用 B+树作为索引结构。 同一个叶子节点层(Level)内的所有叶子 阅读全文
posted @ 2025-07-14 00:09 飘来荡去evo 阅读(49) 评论(0) 推荐(0)
摘要: 在 Java 线程池里,当线程的空闲时间超出所设置的存活时间(keepAliveTime),并且当前线程数量多于核心线程数(corePoolSize)时,超出的线程就会被销毁。这个销毁操作是由线程池本身主动完成的,确切地说,是由线程池内部的工作线程(Worker)自己执行退出操作来实现的。 下面为你 阅读全文
posted @ 2025-07-13 14:51 飘来荡去evo 阅读(98) 评论(0) 推荐(0)
摘要: 在 Java 中,创建对象有以下几种主要方式,每种方式的实现机制和应用场景各有不同: 1. 使用new关键字(最常见方式) 通过new调用构造方法,这是最基本的对象创建方式。 java // 示例 Person person = new Person("Alice", 30); 实现原理: 类加载: 阅读全文
posted @ 2025-07-13 02:31 飘来荡去evo 阅读(99) 评论(0) 推荐(0)
摘要: RocketMQ 和 Kafka 在持久化机制的设计上存在显著差异,主要体现在存储架构、刷盘策略、复制机制、性能优化和可靠性保障等方面。以下是关键区别的详细分析: 📂 1. 存储架构与文件设计 组件RocketMQKafka 核心存储文件 CommitLog:所有消息按顺序追加写入的物理文件(默认 阅读全文
posted @ 2025-07-11 12:17 飘来荡去evo 阅读(70) 评论(0) 推荐(0)
摘要: CAS(Compare-And-Swap)操作能保证原子性,但不直接保证顺序性和可见性。它需要配合其他机制(如内存屏障或volatile变量)才能实现完整的并发安全。其核心原理依赖于硬件指令和底层内存模型的支持。以下是详细分析: 1. 原子性(Atomicity) 保证:是 原理:CAS 是一个硬件 阅读全文
posted @ 2025-07-11 11:00 飘来荡去evo 阅读(183) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 19 下一页