前言 先列出java并发涉及的知识点,后面再慢慢补. java并发 1 常见概念 进程:程序执行的实体,操作系统资源调度资源分配的基本单元 线程:程序执行的最小单元,拥有独立的堆栈和局部变量等属性,可以共享进程的资源 同步是串行执行,阻塞 异步是并行执行,非阻塞 并发:多个任务交替执行 并行:多个任 ...
分类:
编程语言 时间:
2019-09-12 00:07:41
阅读次数:
115
什么是跳跃表? SkipList在leveldb、redis以及lucence中都广为使用,是比较高效的数据结构。由于它的代码以及原理实现的简单性,更为人们所接受。我们首先看看SkipList的定义,为什么叫跳跃表? “ Skip lists are data structures that use ...
分类:
其他好文 时间:
2019-09-01 16:40:54
阅读次数:
122
这是《redis 七种内部数据结构》:https://www.cnblogs.com/christmad/p/11364372.html 的第六篇 ...
分类:
其他好文 时间:
2019-08-16 20:44:16
阅读次数:
66
原文出处http://cmsblogs.com/ 『chenssy』 到目前为止,我们在Java世界里看到了两种实现key-value的数据结构:Hash、TreeMap,这两种数据结构各自都有着优缺点。 然而,这次介绍第三种实现key-value的数据结构:SkipList。SkipList有着不 ...
分类:
编程语言 时间:
2019-08-11 17:45:44
阅读次数:
137
为什么选择跳表 目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树 出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树, 还要参考网上的代码,相当 ...
分类:
其他好文 时间:
2019-05-11 12:18:11
阅读次数:
121
前记 最近在看Redis,之间就尝试用sortedSet用在实现排行榜的项目,那么sortedSet底层是什么结构呢? "Redis sorted set的内部使用HashMap和跳跃表(SkipList)来保证数据的存储和有序,HashMap里放的是成员到score的映射,而跳跃表里存放的是所有的 ...
分类:
编程语言 时间:
2019-04-30 23:47:31
阅读次数:
309
SkipList 俗称跳表,跳表是一种随机化的数据结构,目前开源软件 Redis 和 LevelDB 都有用到它,它的效率和红黑树以及 AVL 树不相上下,但跳表的原理相当简单,只要你能熟练操作链表,就能轻松实现一个 SkipList。 有序表的搜索 考虑一个有序表: 从该有序表中搜索元素 < 23 ...
分类:
其他好文 时间:
2019-02-20 09:41:32
阅读次数:
284
Java基础19:Java集合框架梳理 在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影! java中集合大家族的成员实在是太丰富了,有常用的ArrayList、HashMap、HashSet,也有不常用的Stack、Q ...
分类:
编程语言 时间:
2019-02-08 20:11:05
阅读次数:
200
原文:Redis数据结构之简单动态字符串SDSRedis的底层数据结构非常多,其中包括SDS、ZipList、SkipList、LinkedList、HashTable、Intset等。如果你对Redis的理解还只停留在get、set的水平的话,是远远不足以应对面试提问的。本文简单介绍了Redis底... ...
分类:
其他好文 时间:
2019-01-30 00:25:21
阅读次数:
120
Redis的底层数据结构非常多,其中包括SDS、ZipList、SkipList、LinkedList、HashTable、Intset等。如果你对Redis的理解还只停留在get、set的水平的话,是远远不足以应对面试提问的。本文简单介绍了Redis底层最重要的数据结构 简单动态字符串(SDS) ...
分类:
其他好文 时间:
2019-01-29 23:16:32
阅读次数:
245