Redis内存碎片详解
什么是内存碎片?你可以将内存碎片简单地理解为那些不可用的空闲内存。举个例子:操作系统为你分配了 32 字节的连续内存空间,而你存储数据实际只需要使用 24 字节内存空间,那这多余出来的 8 字...
final,static,this,super 关键字总结
final,static,this,super 关键字总结final 关键字final 关键字,意思是最终的、不可修改的,最见不得变化 ,用来修饰类、方法和变量,具有以下特点:final 修饰的类不能被继承,final 类中的所...
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...
JMM(Java 内存模型)详解
JMM(Java 内存模型)主要定义了对于一个共享变量,当另一个线程对这个共享变量执行写操作后,这个线程对这个共享变量的可见性。要想理解透彻 JMM(Java 内存模型),我们先要从 CPU 缓存模型和指...
MySQL索引详解
但凡经历过几场面试的小伙伴,应该都清楚,数据库索引这个知识点在面试中出现的频率高到离谱。除了对于准备面试来说非常重要之外,善用索引对 SQL 的性能提升非常明显,是一个性价比较高的 SQL ...
Java 常见并发容器总结
JDK 提供的这些容器大部分在 java.util.concurrent 包中。ConcurrentHashMap : 线程安全的 HashMapCopyOnWriteArrayList : 线程安全的 List,在读多写少的场合性能非常好,远远好于 Vector。Con...
Redis为什么用跳表实现有序集合
前言近几年针对 Redis 面试时会涉及常见数据结构的底层设计,其中就有这么一道比较有意思的面试题:“Redis 的有序集合底层为什么要用跳表,而不用平衡树、红黑树或者 B+树?”。本文就以这道大...
Java 代理模式详解
1. 代理模式代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标...
分布式ID介绍&实现方案总结
转自https://javaguide.cn/distributed-system/distributed-id.html#%E6%80%BB%E7%BB%93分布式 ID 介绍什么是 ID?日常开发中,我们需要对系统中的各种数据使用 ID 唯一表示,比如用户 ID 对应...
MySQL隐式转换造成索引失效
本次测试使用的 MySQL 版本是 5.7.26,随着 MySQL 版本的更新某些特性可能会发生改变,本文不代表所述观点和结论于 MySQL 所有版本均准确无误,版本差异请自行甄别。原文:https://www.guitu18....









