从ReentrantLock的实现看AQS的原理及应用
本文转载自:https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.html作者:美团技术团队Java 中的大部分同步类(Semaphore、ReentrantLock 等)都是基于 AbstractQueuedSynchronizer(...
MQ消息队列八股系列(3)
21、RocketMQ如何保证消息不丢失? 在 RocketMQ 中,消息的可靠性和一致性可以通过以下几个机制来保障: 1. 消息持久化 同步刷盘(SYNC_FLUSH) 描述:消息写入后立即同步刷盘,将消息持久化到...
Java 线程池最佳实践
简单总结一下我了解的使用线程池的时候应该注意的东西,网上似乎还没有专门写这方面的文章。1、正确声明线程池线程池必须手动通过 ThreadPoolExecutor 的构造函数来声明,避免使用Executors 类...
Java 序列化详解
什么是序列化和反序列化?如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。简单来说:序列化:将数据结构或对象转换成二进制...
MQ消息队列八股系列(2)
11、如何解决消息队列的延时以及过期失效问题? 整理后的内容如下: 解决消息队列的延时问题 1.1 增加消费者实例 方法:增加消费者实例可以提高消息处理的并发度,从而减少消息的等待时间。 1.2...
Redis常见阻塞原因总结
本文整理完善自:https://mp.weixin.qq.com/s/0Nqfq_eQrUb12QH6eBbHXA ,作者:阿 Q 说代码这篇文章会详细总结一下可能导致 Redis 阻塞的情况,这些情况也是影响 Redis 性能的关键因素,使用 Re...
采用前端技术开源了一个数据结构算法的可视化工具
今天要推荐的开源项目叫[VisuAlgoX](https://github.com/08820048/VisuAlgoX),是一个面向计算机科学和游戏开发的 **交互式算法可视化工具**,帮助用户通过直观的动画理解各种数据结构和算法。##...
MySQL索引详解
但凡经历过几场面试的小伙伴,应该都清楚,数据库索引这个知识点在面试中出现的频率高到离谱。除了对于准备面试来说非常重要之外,善用索引对 SQL 的性能提升非常明显,是一个性价比较高的 SQL ...
如何基于Redis实现延时任务
基于 Redis 实现延时任务的功能无非就下面两种方案:Redis 过期事件监听Redisson 内置的延时队列面试的时候,你可以先说自己考虑了这两种方案,但最后发现 Redis 过期事件监听这种方案存在很多...
Java 线程池详解
池化技术想必大家已经屡见不鲜了,线程池、数据库连接池、HTTP 连接池等等都是对这个思想的应用。池化技术的思想主要是为了减少每次获取资源的消耗,提高对资源的利用率。这篇文章我会详细介绍...









