深入理解跳表及其在Redis中的应用
跳表可以达到和红黑树一样的时间复杂度O(logN),且实现简单,Redis中的有序集合对象的底层数据结构就使用了跳表。其作者威廉·普评价:跳跃链表是在很多应用中有可能替代平衡树的一种数据结构。本篇文章将对跳表的实现及在Redis中的应用进行学习。
Wesley13 Wesley13
3年前
11个最流行的静态(博客)网站生成工具
11个最流行的静态(博客)网站生成工具最近特别流行使用静态网站搭建博客,本博客就是host在GitHubPages的静态网站。静态网站非常适合专注于内容的网站,例如,博客。那你可能会问,为什么不用大名顶顶的wordpress(动态网站)呢。静态网站和动态网站相比有如下好处:省钱。静态网站占用的系统
易娃 易娃
4年前
Go VS Java:一位资深程序员对两种语言的解读
导读:对于软件开发的编程语言,其实没有万能灵药。本文作者详细介绍了他使用Java和Go这两种编程语言,一个是传统语言,一个是新兴语言的工作方式。image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/0f0509de2420894d6c75e8678081e0cd.png)
Wesley13 Wesley13
3年前
MySQL的预编译功能
MySQL的预编译功能预编译的好处大家平时都使用过JDBC中的PreparedStatement接口,它有预编译功能。什么是预编译功能呢?它有什么好处呢?当客户发送一条SQL语句给服务器后,服务器总是需要校验SQL语句的语法格式是否正确,然后把SQL语句编译成可执行的函数,最后才是执行
Stella981 Stella981
3年前
OAuth2.0最简向导(多图预警)
!(https://oscimg.oschina.net/oscnet/e9130d63a6854041adfb860495c04600.gif)OAuth2.0是目前最流行的授权机制,用来授权第三方应用,获取用户数据。这个标准比较抽象,使用了很多术语,初学者不容易理解。本文从最小数据单元开始一步一步揭开OAuth2.
Stella981 Stella981
3年前
Redis哈希对象的ziplist编码实现了O(1)复杂度吗
问题:Redis中哈希对象有两种编码方式,分别是ziplist、hashtable方式。哈希对象,总得体现哈希算法,使得基本操作达到O(1)的效率。hashtable编码方式使用字典,也即是Java中hashMap的方式,这个我可以理解。但是,ziplist方式所有元素都是紧挨的,它是怎么实现hash,并使得查询等操作有O(1)的时间效率的呢?让我们
Stella981 Stella981
3年前
Hi3519V101 SDK安装以及开发环境搭建
Hi3519V101Linux开发环境1、安装Hi3519V101SDKHi3519V101SDK是基于Hi3519V101DMEB的软件开发包,包含了在Linux相关应用开发时使用的各种工具及其源代码,是用户开发中最基本的软件平台。安装步骤  拷贝。将Hi3519V101\_SDK\_V1.0.2.0.tgz拷贝
Wesley13 Wesley13
3年前
VCL标准化皮肤组件Alphacontrols发布v10.27
AlphaControls(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.evget.com%2Fproduct%2F2642)是一个标准的皮肤控件集合,它具有很多新的属性,可以添加到普通的控件中以增强程序界面效果,同时还能添加一些行为到普通的控件中,并使用了一些新技
Easter79 Easter79
3年前
Task之二进制信号量
在计算机系统里,经常遇到一种场景:任务同步问题(Synchronization)。例如任务在使用系统资源(例如某个数据)之前,先要向系统申请。这个申请过程,就是一种同步,代码大致如下!(https://oscimg.oschina.net/oscnet/983177c3dfe0947eeb3f9bc8fc72b88e4d0.png)先是requ
Easter79 Easter79
3年前
SpringCloud微服务(02):Ribbon和Feign组件,实现服务调用的负载均衡
一、Ribbon简介1、基本概念\Ribbon是一个客户端的负载均衡(LoadBalancer,简称LB)器,它提供对大量的HTTP和TCP客户端的访问控制。2、负载均衡简介目前主流的负载均衡方案可分成两类:1)集中式\即在服务的消费方和提供方之间使用独立的LB设施,可以是硬