深入理解跳表及其在Redis中的应用
跳表可以达到和红黑树一样的时间复杂度O(logN),且实现简单,Redis中的有序集合对象的底层数据结构就使用了跳表。其作者威廉·普评价:跳跃链表是在很多应用中有可能替代平衡树的一种数据结构。本篇文章将对跳表的实现及在Redis中的应用进行学习。
Easter79 Easter79
4年前
TP5中手机端和PC端判断
TP5中手机端和PC端判断一、使用自定义的判定方法1.首先在applicationcommon.php公共文件中写入用于判定设备登录的ismobile方法:functionismobile(){//如果有HTTP
Wesley13 Wesley13
4年前
Java中的屠龙之术——如何修改语法树
在Lombok经常用,但是你知道它的原理是什么吗?(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fjuejin.im%2Fpost%2F5e54d38a6fb9a07cbf46b3ca),和Lombok经常用,但是你知道它的原理是什么吗?(二)(https://www.oschin
Stella981 Stella981
4年前
MapReduce中combine、partition、shuffle的作用是什么
概括:combine和partition都是函数。中间的步骤应该仅仅有shuffle!1.combinecombine分为map端和reduce端,作用是把同一个key的键值对合并在一起,能够自己定义的。combine函数把一个map函数产生的<key,value对(多个key,value)合并成一个新的<key2,value
Stella981 Stella981
4年前
JavaScript 中的三位一体
!(https://oscimg.oschina.net/oscnet/bb7150c330b20527a71ac0eb451e8b86ec9.gif)最近看到一个有意思的图片,包含了鲜为人知的秘密。。。先看看这张有意思的图片。!(https://oscimg.oschina.net/oscnet/f1acffc08d9de7727e
Stella981 Stella981
4年前
Git中的AutoCRLF与SafeCRLF换行符问题
原文:http://www.cnblogs.com/flying\_bat/archive/2013/09/16/3324769.html最近在使用GitHub,发现不时没有修改过的文件要提交,对比发现文件全部修改,但找不到不一样的地方。想可能是换行符的问题,因为Windows和Linux的换行符不一样,而Git默认应该是Linux的,今天Bing了下
Wesley13 Wesley13
4年前
VirtualBox中ubuntu系统无法进入的修复方法
virtualbox下的ubuntu经常因为各种原因被强制关闭,然后再启动的时候就出现类似错误:mounting /dev on /root/dev failed: No such file or directorymount:mounting /sys on /root/sys failed: No such file or directorym
Wesley13 Wesley13
4年前
MongoDB学习系列11:MongoDB中的修改器
使用修改器时,"\_id"的值不能改变,而整个文档在替换时是可以改变"\_id"的。$set用来修改一个键的值。$unset用来删除一个键。$inc用来增加已有键的值,或者在键不存在时创建一个键。只能用于整数、长整数、或者双精度浮点数。$push往数组里添加东西,$pop从数组中删除元素。{$pop:{key:1}}从数据末
Wesley13 Wesley13
4年前
83. 删除排序链表中的重复元素
题目描述题目地址:https://leetcodecn.com/problems/removeduplicatesfromsortedlist/给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入:112输出:12示例 2:输入:11233输出:
Wesley13 Wesley13
4年前
JDK和Spring中SPI的实现原理和区别
SPI简介serviceproviderinterfaceJDK内置的中服务发现机制一种动态替换发现的机制!输入图片说明(https://static.oschina.net/uploads/img/201804/04141503_Xd94.png"在这里输入图片标题")此图使用(https://www.jianshu