摘要:
链表是一种常用的数据结构,提供了顺序访问的方式,而且高效地增删操作。 Redis中广泛使用了链表,例如:列表的底层实现之一就是链表。 在Redis中,链表分为两部分:链表信息 + 链表节点。 链表节点用来表示链表中的一个节点,基础的值和指向前和后的指针链表信息,用来保存整个链表的信息,例如首尾节点、 阅读全文
posted @ 2023-08-14 15:38
秋天Code
阅读(37)
评论(0)
推荐(0)
摘要:
定义 众所周知,Redis是由C语言写的。 对于字符串类型的数据存储,Redis并没有直接使用C语言中的字符串。 而是自己构建了一个结构体,叫做“简单动态字符串”,简称SDS,比C语言中的字符串更加灵活。 SDS的结构体是这样的: struct{ int len; // 数组中已使用的字节的数量,即 阅读全文
posted @ 2023-08-14 15:21
秋天Code
阅读(52)
评论(0)
推荐(0)
摘要:
参考文章 Java中的偏向锁,轻量级锁, 重量级锁解析_萧萧九宸的博客-CSDN博客 本文是本人对以上文章的整理,建议先去看以上文章。 在Java中,一个锁对象的四种状态: 无锁偏向锁轻量级锁重量级锁 在Java中,一个锁就是一个对象 synchronized代码块是由一对monitorenter和 阅读全文
posted @ 2023-08-14 12:44
秋天Code
阅读(36)
评论(0)
推荐(0)
摘要:
并发编程的三个理念 原子性:一个操作要么全部完成,要么全部失败。可见性:当一个线程对共享变量进行修改后,其他线程也应立刻看到。有序性:程序按照顺序执行 synchronized基本使用 修饰静态方法,锁的是类,Class字节码对象修饰实例方法,锁的是当前实例对象修饰代码块,锁的是当前指定的对象 原理 阅读全文
posted @ 2023-08-14 12:14
秋天Code
阅读(36)
评论(0)
推荐(0)