JAVA:常用非对称加密算法的技术指南 1、简述 非对称加密是一种加密技术,使用一对密钥进行数据加密和解密。这两个密钥分别是公开密钥(public key)和私有密钥(private key)。公开密钥和私有密钥是数学上相关联的,使用公开密钥加密的数据只能通过对应的私有密钥解密,反之亦然。与对称加密(如AES、DES)不同,非对称加密不使 2025-09-25 8 0 JAVA 算法
JAVA:常用对称加密算法的技术指南 1、简述 对称加密是一种加密算法,其中加密和解密使用相同的密钥。其主要特点是速度快、效率高,适用于大数据量的加密需求。对称加密算法通常用于保护数据的机密性和完整性,广泛应用于网络通信、数据存储等领域。 2、工作原理 对称加密的核心在于加密密钥和解密密钥相同。加密过程将明文通过加密算法和密钥转换为密文 2025-09-23 6 0 JAVA 算法
JAVA:常用算法的技术指南 1、简述 在软件开发过程中,算法扮演着关键的角色。它们用于解决各种问题,从数据处理到搜索、排序等。本文将介绍几种常见的算法及其 Java 实现,包括排序算法、搜索算法以及图算法。 2、排序算法 2.1 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法。它重复地遍历待排序的数列,依次比 2025-09-19 12 0 JAVA 算法
JAVA:分布式雪花算法(Snowflake)的技术指南 1、简述 在分布式系统中,唯一 ID 生成 是一个核心问题。比如订单号、用户 ID、消息 ID 等。常见方案有: 🔹 数据库自增主键(性能瓶颈、单点问题) 🔹 UUID(全局唯一但过长,且无序) 🔹 Redis/ZooKeeper 分布式自增(额外依赖) Twitter 提出的 Snowfla 2025-08-28 26 0 算法 JAVA
JAVA:一致性哈希(Consistent Hashing)算法的技术指南 1、简述 在分布式系统中,负载均衡和数据分片是核心问题。传统的取模方式(hash(key) % N)虽然简单,但当节点数量变化时,会导致 大规模数据迁移。 为了解决这一问题,引入了 一致性哈希算法(Consistent Hashing)。它可以在节点变化时,仅影响部分数据映射,大大降低系统的抖动和迁 2025-08-27 14 0 算法 JAVA
JAVA:深入理解 ZAB 算法的技术指南 1、简述 在分布式系统中,一致性 是最重要的问题之一。ZooKeeper 作为分布式协调服务,其核心是通过 ZAB(ZooKeeper Atomic Broadcast)协议 来实现数据一致性。 ZAB 是 ZooKeeper 专门设计的一种 原子广播协议,类似于 Paxos,但更贴合 主从同步和崩 2025-08-22 13 0 算法 JAVA
JAVA:分布式一致性 Paxos 算法的技术指南 1、简述 在构建高可用、强一致的分布式系统时,一个不可回避的问题是:如何在不可靠网络中实现节点之间的共识(Consensus)? 这是 Paxos 算法要解决的核心问题。 本文将从 Java 工程的角度出发,介绍 Paxos 的工作机制、核心流程、与 Raft 的比较,以及实际的 Java 实践案例 2025-08-08 10 0 算法 JAVA
JAVA:分布式一致性 Raft 算法的技术指南 1、简述 在构建分布式系统时,如何确保多个节点之间状态一致,是一个非常关键的问题。Raft 算法是目前最易于理解且广泛应用的共识算法之一,它为分布式一致性提供了一种更工程化、可实现的解决方案。 本文将介绍 Raft 算法的基本原理、工作流程,以及在 Java 实践中的典型应用场景。 2、为什么需要 2025-08-08 6 0 算法 JAVA
JAVA:实现平衡二叉树(AVL Tree)的技术指南 🌲 1、简述 在高并发系统中,我们经常需要在保证有序性、可查询性以及插入/删除效率的前提下,对大量数据进行管理。这时,平衡二叉树(AVL Tree) 就是一个优秀的选择。 什么是平衡二叉树? 平衡二叉树(AVL Tree)是 带有平衡条件的二叉查找树,它保证 任意节点的左右子树高度差不超过1,从而 2025-08-08 8 0 算法 JAVA
JAVA:红黑树应用的技术指南 🌳 1、简述 红黑树是一种自平衡二叉查找树(Self-Balancing Binary Search Tree),被广泛应用于操作系统调度、Java集合、数据库索引等核心模块中。本文将从 基本原理 入手,结合 实际应用场景与代码实例,带你全面理解红黑树的精髓。 代码样例:https://gitee 2025-08-08 6 0 算法 JAVA
JAVA:令牌桶流控算法的技术指南 1、简述 令牌桶算法(Token Bucket Algorithm)是一种流控算法,用于控制数据流的传输速率,同时允许一定程度的突发流量。这种算法广泛应用于网络流量整形、限流等场景。 代码样例:https://gitee.com/lhdxhl/algorithm-example.git 2、工作原理 2025-08-08 9 0 算法 JAVA
JAVA:常用队列实现的技术指南 1、简述 在计算机科学中,队列是一种常见的线性数据结构,它遵循先进先出(FIFO,First In First Out)的原则。队列在各种应用中广泛使用,例如任务调度、消息队列和宽度优先搜索等。在 Java 中,队列是 java.util 包的一部分,并且 Java 提供了多种类型的队列以满足不同的 2025-08-08 13 0 算法 JAVA