网站Logo 拾荒的小海螺
首页
研想花开
生活随笔
图库
茶杯狐
关于
登录

JAVA:分布式雪花算法(Snowflake)的技术指南

1、简述 在分布式系统中,唯一 ID 生成 是一个核心问题。比如订单号、用户 ID、消息 ID 等。常见方案有: 🔹 数据库自增主键(性能瓶颈、单点问题) 🔹 UUID(全局唯一但过长,且无序) 🔹 Redis/ZooKeeper 分布式自增(额外依赖) Twitter 提出的 Snowfla

2025-08-28
8
0
算法
JAVA

JAVA:一致性哈希(Consistent Hashing)算法的技术指南

1、简述 在分布式系统中,负载均衡和数据分片是核心问题。传统的取模方式(hash(key) % N)虽然简单,但当节点数量变化时,会导致 大规模数据迁移。 为了解决这一问题,引入了 一致性哈希算法(Consistent Hashing)。它可以在节点变化时,仅影响部分数据映射,大大降低系统的抖动和迁

2025-08-27
6
0
算法
JAVA

JAVA:深入理解 ZAB 算法的技术指南

1、简述 在分布式系统中,一致性 是最重要的问题之一。ZooKeeper 作为分布式协调服务,其核心是通过 ZAB(ZooKeeper Atomic Broadcast)协议 来实现数据一致性。 ZAB 是 ZooKeeper 专门设计的一种 原子广播协议,类似于 Paxos,但更贴合 主从同步和崩

2025-08-22
6
0
算法
JAVA

JAVA:分布式一致性 Paxos 算法的技术指南

1、简述 在构建高可用、强一致的分布式系统时,一个不可回避的问题是:如何在不可靠网络中实现节点之间的共识(Consensus)? 这是 Paxos 算法要解决的核心问题。 本文将从 Java 工程的角度出发,介绍 Paxos 的工作机制、核心流程、与 Raft 的比较,以及实际的 Java 实践案例

2025-08-08
4
0
算法
JAVA

JAVA:分布式一致性 Raft 算法的技术指南

1、简述 在构建分布式系统时,如何确保多个节点之间状态一致,是一个非常关键的问题。Raft 算法是目前最易于理解且广泛应用的共识算法之一,它为分布式一致性提供了一种更工程化、可实现的解决方案。 本文将介绍 Raft 算法的基本原理、工作流程,以及在 Java 实践中的典型应用场景。 2、为什么需要

2025-08-08
3
0
算法
JAVA

JAVA:实现平衡二叉树(AVL Tree)的技术指南

🌲 1、简述 在高并发系统中,我们经常需要在保证有序性、可查询性以及插入/删除效率的前提下,对大量数据进行管理。这时,平衡二叉树(AVL Tree) 就是一个优秀的选择。 什么是平衡二叉树? 平衡二叉树(AVL Tree)是 带有平衡条件的二叉查找树,它保证 任意节点的左右子树高度差不超过1,从而

2025-08-08
3
0
算法
JAVA

JAVA:红黑树应用的技术指南

🌳 1、简述 红黑树是一种自平衡二叉查找树(Self-Balancing Binary Search Tree),被广泛应用于操作系统调度、Java集合、数据库索引等核心模块中。本文将从 基本原理 入手,结合 实际应用场景与代码实例,带你全面理解红黑树的精髓。 代码样例:https://gitee

2025-08-08
4
0
算法
JAVA

JAVA:令牌桶流控算法的技术指南

1、简述 令牌桶算法(Token Bucket Algorithm)是一种流控算法,用于控制数据流的传输速率,同时允许一定程度的突发流量。这种算法广泛应用于网络流量整形、限流等场景。 代码样例:https://gitee.com/lhdxhl/algorithm-example.git 2、工作原理

2025-08-08
5
0
算法
JAVA

JAVA:常用队列实现的技术指南

1、简述 在计算机科学中,队列是一种常见的线性数据结构,它遵循先进先出(FIFO,First In First Out)的原则。队列在各种应用中广泛使用,例如任务调度、消息队列和宽度优先搜索等。在 Java 中,队列是 java.util 包的一部分,并且 Java 提供了多种类型的队列以满足不同的

2025-08-08
3
0
算法
JAVA

JAVA:常用链表结构的技术指南

1、简述 链表是一种常见的数据结构,它通过一系列节点(Node)来表示一个序列。每个节点包含数据和指向下一个节点的引用。链表的种类有很多,包括单向链表、双端链表、有序链表和双向链表。本文将介绍这些链表的基本概念和 Java 实现。 2、单向链表(Singly Linked List) 单向链表是一种

2025-08-08
7
0
算法
JAVA

JAVA:时间轮调度算法的技术博客

1、简述 时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务。它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂度和资源开销。 代码样例: https://gitee.com/lhdxhl/algorithm-example.git 时间

2025-08-08
1
0
算法
JAVA

JAVA:漏桶算法的技术指南

1、简述 漏桶算法(Leaky Bucket Algorithm)是一种常用的流量整形和速率限制算法,广泛应用于网络通信、限流策略和分布式系统中。本篇博客将详细解析漏桶算法的基本原理、核心实现、典型应用场景,以及提供详细的实践样例。 2、算法原理 漏桶算法通过模拟水流经过一个漏桶的过程控制流量。 基

2025-08-07
8
0
算法
JAVA
1 2