摘要: 前言 Redis中另一个常用的数据结构就是list,其底层有linkedList、zipList和quickList三种存储方式。 linkedList 与Java中的LinkedList类似,Redis中的linkedList也是一个双向链表,由一个个节点组成的。Redis中借助C语言实现的链表节 阅读全文
posted @ 2020-07-22 02:36 Reecelin 阅读(7043) 评论(0) 推荐(4) 编辑
摘要: 前言 Redis是由Salvatore Sanfilippo大神使用C语言编写的。在C语言中,字符串标准形式是以空字符\0作为结束符的,但是Redis里的字符串并没有直接沿用C语言的字符串。主要是因为C语言中获取字符串长度可以调用strlen这个标准函数,这个函数的时间复杂度是O(N),由于Redi 阅读全文
posted @ 2020-07-21 00:50 Reecelin 阅读(7340) 评论(0) 推荐(7) 编辑
摘要: 概述 ThreadLocal提供了一种线程安全的数据访问方式,每个线程中都存在一个共享变量副本,从而实现多线程状态下的线程安全。 demo public static void main(String[] args) { final ThreadLocal<Integer> MAIN = Threa 阅读全文
posted @ 2020-07-19 21:29 Reecelin 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 说FutureTask之前,我们先来说一下Future这个接口。 Future 接口上有许多注释,总结下来如下: 定义了异步计算的接口,提供了计算是否完成的 check、等待完成和取回等多种方法; 如果想得到结果可以使用 get 方法,此方法(无参方法)会一直阻塞到异步任务计算完成; 取消可以使用 阅读全文
posted @ 2020-07-09 16:14 Reecelin 阅读(247) 评论(0) 推荐(0) 编辑
摘要: Java中除了提供synchronized这个关键字来实现对对象的加锁之外,在J.U.C包中还提供了其他加锁的方式。其中最重要,最常见的莫过于ReentrantLock。ReentrantLock是一个可重入互斥锁,其具有与使用synchronized方法和语句访问的隐式监视锁相同的基本行为和语义, 阅读全文
posted @ 2020-06-28 01:13 Reecelin 阅读(76) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2020-06-08 21:51 Reecelin 阅读(3) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2020-04-09 19:55 Reecelin 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 前言 索引相关知识笔记 索引 什么是索引?按照MySQL的官方定义,索引是存储引擎用于快速定位记录的一种数据结构。可能初看到这句话都是懵逼的。举个例子,给你一本《21天学会Java》这本书,现在想让你快速找到多线程相关知识在哪页,你会怎么做?当然是先找到目录,确定一个多线程相关知识在哪个章节,然后看 阅读全文
posted @ 2020-03-27 00:40 Reecelin 阅读(24) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2020-02-15 22:42 Reecelin 阅读(3) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2020-02-15 01:22 Reecelin 阅读(5) 评论(0) 推荐(0) 编辑