一文彻底弄清Redis的布隆过滤器

布隆过滤器(Bloom Filter)是一种空间效率极高的数据结构,用于快速判断一个元素是否在集合中。它能够节省大量内存,但它有一个特点:可能存在误判,即可能会认为某个元素存在于集合中,但实际上不存在;而对于不存在的元素,它保证一定不会误判。布隆过滤器适合在对存储空间要求极为严格,同时能接受少量误判的应用场景中使用。 1. 布隆过滤器的工作原理…

hello hello 发布于 2024-11-13

Java DelayQueue 介绍(一)

DelayQueue 是 JUC 包( java.util.concurrent) 为我们提供的延迟队列,用于实现延时任务比如订单下单 15 分钟未支付直接取消。它是 BlockingQueue 的一种,底层是一个基于 PriorityQueue 实现的一个无界队列,是线程安全的。 DelayQueue 中存放的元素必须实现 Delayed…

hello hello 发布于 2024-11-13

Java DelayQueue 介绍(二)

DelayQueue 源码解析 这里以 JDK1.8 为例,分析一下 DelayQueue 的底层核心源码。 DelayQueue 的类定义如下: public class DelayQueue<E extends Delayed> extends AbstractQueue<E> implements BlockingQueue<E> { //... }…

hello hello 发布于 2024-11-13

一文彻底搞定Redis与MySQL的数据同步

Redis 和 MySQL 一致性问题是企业级应用中常见的挑战之一,特别是在高并发、高可用的场景下。由于 Redis 是内存型数据库,具备极高的读写速度,而 MySQL 作为持久化数据库,通常用于数据的可靠存储,如何保证两者数据的一致性需要具体业务场景的设计与优化。 下面我们将结合几个典型的业务场景,逐步分析如何在不同的场景下保证 Redis 和…

hello hello 发布于 2024-11-13

Java CopyOnWriteArrayList 介绍

CopyOnWriteArrayList 简介 在 JDK1.5 之前,如果想要使用并发安全的 List 只能选择 Vector 。而 Vector 是一种老旧的集合,已经被淘汰。 Vector 对于增删改查等方法基本都加了 synchronized ,这种方式虽然能够保证同步,但这相当于对整个 Vector…

hello hello 发布于 2024-11-13

Java ConcurrentHashMap 介绍

ConcurrentHashMap 作为线程安全的 HashMap ,它的使用频率也是很高。那么它的存储结构和实现原理是怎么样的呢? 1. ConcurrentHashMap 1.7 1. 存储结构 Java 7 中 ConcurrentHashMap 的存储结构如上图, ConcurrnetHashMap 由很多个 Segment 组合,而每一个…

hello hello 发布于 2024-11-11

基于 Spring Boot的开源搜索引擎、AI 驱动的数据库跨平台工具

今天给大家分享一个基于 Spring Boot的搜索引擎及一个AI 驱动的数据库跨平台工具。Let’s go! Lucene Server 一款基于 Spring Boot 和 Lucene 核心库构建的搜索引擎。 可以零代码实现对海量数据的同步搜索,只需一点初始配置。 主要特点包括: 零代码实现,避免了复杂的代码开发过程。…

hello hello 发布于 2024-11-10

Java ArrayBlockingQueue 介绍(二)

ArrayBlockingQueue初始化 了解 ArrayBlockingQueue 的细节前,我们不妨先看看其构造函数,了解一下其初始化过程。从源码中我们可以看出 ArrayBlockingQueue 有 3 个构造方法,而最核心的构造方法就是下面这一个。 // capacity 表示队列初始容量,fair 表示 锁的公平性 public…

hello hello 发布于 2024-11-09

Java ArrayList 介绍

ArrayList 简介 ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用 ensureCapacity 操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 ArrayList 继承于 AbstractList ,实现了 List ,…

hello hello 发布于 2024-11-09

Java ArrayBlockingQueue 介绍(一)

阻塞队列简介 阻塞队列的历史 Java 阻塞队列的历史可以追溯到 JDK1.5 版本,当时 Java 平台增加了 java.util.concurrent ,即我们常说的 JUC 包,其中包含了各种并发流程控制工具、并发容器、原子类等。这其中自然也包含了我们这篇文章所讨论的阻塞队列。 为了解决高并发场景下多线程之间数据共享的问题,JDK1.5 版本中出现了…

hello hello 发布于 2024-11-09
上一页 下一页