猿java

猿java的博客

在 Apache Kafka 中,避免重复消费是一个常见的问题,尤其是在处理消息时需要确保每条消息只被处理一次。Kafka本身提供了一些机制和最佳实践来帮助实现这一目标。这篇文章,我们来分析 7种常见的方式。
阅读全文 »

在现实生活中,有时我们需要根据特定条件决定接下来该做什么。同样,在编程中,也会遇到需要在特定条件为真时执行特定任务的情况。在这种情况下,可以使用条件语句。Python 提供了以下条件语句:
阅读全文 »

在实际工作中,我们经常会用到通知系统,比如,用户完成在线购买后,需要发送订单确认邮件、支付处理成功的短信以及包裹发货的推送通知。那么,什么是通知系统?如何设计一个通知系统?这篇文章,我们来聊一聊!
阅读全文 »

Python Dictionaries字典是一种数据结构,用于以键值对的形式存储值。这篇文章,我们来详细分析。
阅读全文 »

布隆过滤器(Bloom Filter)是一种概率型数据结构,用于判断一个元素是否属于一个集合。它特别擅长处理大规模数据的快速查找,具有高效的空间利用率和查询速度。下面是布隆过滤器的工作原理、优缺点和使用场景。
阅读全文 »

StructuredTaskScope是 Java 19 引入的一个实验性特性,Java 21正式纳入java.util包,它是一个用于管理并发任务的工具,旨在提供一种更结构化的方式来管理并发任务。那么,StructuredTaskScope和传统的线程池(如ExecutorService)相比,有哪些独特的优点和缺点,这篇文章,我们来聊一聊。
阅读全文 »

Redis 作为 NoSQL 的典型代表,一直是以单线程性能高著称,但是在 Redis 6 中,官方推出了多线程的功能,那么,Redis6 的多线程到底该如何理解?为什么官方要引进多线程呢?这篇文章,我们来聊一聊。
阅读全文 »

Linux 是一个开源操作系统内核,基于这个内核的操作系统发行版有很多种类,不同的发行版适用于不同的使用场景和用户需求。这篇文章,我们将一起学习几种常见的 Linux 发行版及其特点、优缺点,以及在这么多版本中该如何选择。
阅读全文 »

在实际开发中,如果选择的是 MySQL 数据库,通常会使用`EXPLAIN`关键字来显示查询 SQL 的执行计划,从而帮助我们优化查询性能。那么,`EXPLAIN`是如何工作的?`EXPLAIN`结果里面的字段该如何理解,这篇文章,我们将详细分析。
阅读全文 »