MQ消息队列八股系列(1)
1、MQ 使用场景有哪些? 异步通信场景: MQ可以实现消息的异步传递,避免了请求等待的时间,提高了系统的响应速度和吞吐量。 常见的应用场景有异步下单、异步支付等,例如在电商平台中,当用户...
Redis内存碎片详解
什么是内存碎片?你可以将内存碎片简单地理解为那些不可用的空闲内存。举个例子:操作系统为你分配了 32 字节的连续内存空间,而你存储数据实际只需要使用 24 字节内存空间,那这多余出来的 8 字...
MySQL事务隔离级别详解
事务隔离级别总结SQL 标准定义了四个隔离级别:READ-UNCOMMITTED(读取未提交) :最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、幻读或不可重复读。READ-COMMITTED(读取已提交) ...
C语言实现各种排序
C语言实现各种排序1、冒泡排序冒大泡(将大的数往后放)void bubble_sort(int *p,int len){ for(int i=0;i<len-1;i++){ for(int j=0;j<len-1-i;j++){ i...
如何基于Redis实现延时任务
基于 Redis 实现延时任务的功能无非就下面两种方案: Redis 过期事件监听 Redisson 内置的延时队列 面试的时候,你可以先说自己考虑了这两种方案,但最后发现 Redis 过期事件监听这种方案存在很...
从ReentrantLock的实现看AQS的原理及应用
本文转载自:https://tech.meituan.com/2019/12/05/aqs-theory-and-apply.html作者:美团技术团队Java 中的大部分同步类(Semaphore、ReentrantLock 等)都是基于 AbstractQueuedSynchronizer(...
MySQL自增主键一定是连续的吗
作者:飞天小牛肉原文:https://mp.weixin.qq.com/s/qci10h9rJx_COZbHV3aygQ众所周知,自增主键可以让聚集索引尽量地保持递增顺序插入,避免了随机查询,从而提高了查询效率。但实际上,MySQL ...
MySQL高性能优化规范建议总结
作者: 听风 原文地址: https://www.cnblogs.com/huchong/p/10219318.html。数据库命名规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用 MySQL 保留关键字(如...
Java 序列化详解
什么是序列化和反序列化?如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。简单来说:序列化:将数据结构或对象转换成二进制...
Redis常见面试题总结(1)
Redis 基础什么是 Redis?Redis (REmote DIctionary Server)是一个基于 C 语言开发的开源 NoSQL 数据库(BSD 许可)。与传统数据库不同的是,Redis 的数据是保存在内存中的(内存数据库,支持...









