从ReentrantLock的实现看AQS的原理及应用
本文转载自:https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.html作者:美团技术团队Java 中的大部分同步类(Semaphore、ReentrantLock 等)都是基于 AbstractQueuedSynchronizer(...
3种常用的缓存读写策略详解
看到很多小伙伴简历上写了“熟练使用缓存”,但是被我问到“缓存常用的 3 种读写策略”的时候却一脸懵逼。在我看来,造成这个问题的原因是我们在学习 Redis 的时候,可能只是简单写了一些 Demo...
Nginx部署
1、认识 Nginx1.1、Nginx 是什么?在现代网络架构中,高性能、可扩展性和灵活性是构建成功 Web 应用程序的关键。Nginx(发音为'engine-x')是一款轻量级、高性能的 Web 服务器和反向代理服务器...
InnoDB存储引擎对MVCC的实现
多版本并发控制 (Multi-Version Concurrency Control)MVCC 是一种并发控制机制,用于在多个并发事务同时读写数据库时保持数据的一致性和隔离性。它是通过在每个数据行上维护多个版本的数据来实...
C语言实现哈希表
哈希表1、哈希表的创建#define MAX 10#define NULL_KEY -1typedef int data_type;typedef struct{ data_type *ele; int n;}hash_table;hash_table *create_hash_table(){hash_table *...
CompletableFuture 详解
一个接口可能需要调用 N 个其他服务的接口,这在项目开发中还是挺常见的。举个例子:用户请求获取订单信息,可能需要调用用户信息、商品详情、物流信息、商品推荐等接口,最后再汇总数据统一返...
Redis常见面试题总结(1)
Redis 基础什么是 Redis?Redis (REmote DIctionary Server)是一个基于 C 语言开发的开源 NoSQL 数据库(BSD 许可)。与传统数据库不同的是,Redis 的数据是保存在内存中的(内存数据库,支持...
Java 常见并发容器总结
JDK 提供的这些容器大部分在 java.util.concurrent 包中。ConcurrentHashMap : 线程安全的 HashMapCopyOnWriteArrayList : 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector。Con...
Redis为什么用跳表实现有序集合
前言近几年针对 Redis 面试时会涉及常见数据结构的底层设计,其中就有这么一道比较有意思的面试题:“Redis 的有序集合底层为什么要用跳表,而不用平衡树、红黑树或者 B+树?”。本文就以这道大...
采用前端技术开源了一个数据结构算法的可视化工具
今天要推荐的开源项目叫[VisuAlgoX](https://github.com/08820048/VisuAlgoX),是一个面向计算机科学和游戏开发的 **交互式算法可视化工具**,帮助用户通过直观的动画理解各种数据结构和算法。##...









