BA认证: BA认证的应用: 分配client_id和client_secret 定义签名规则:client_id+device_id+timestamp字典排序再使用cli...

BA认证: BA认证的应用: 分配client_id和client_secret 定义签名规则:client_id+device_id+timestamp字典排序再使用cli...
前言 互联网公司中,绝大部分都没有马爸爸系列的公司那样财大气粗,他们即没有强劲的服务器、也没有钱去购买昂贵的海量数据库。那他们是怎么应对大数据量高并发的业务场景的呢?这个和当...
1. 什么是JMM模型 Java内存模型(Java Memory Model简称JMM)是一种抽象的概念,并不真实存在,它 描述的是一组规则或规范,通过这组规范定义了程序中各...
第四章 对象的组合 4.1 设计线程安全的类 在设计线程安全类的过程中,需要包含以下三个基本要素: 找出构成对象状态的所有变量 找出约束状态变量的不变性条件 建立对象状态的并...
二叉树 1. 基本概念 路径:顺着连接节点的边从一个节点走到另一个节点,所经过的节点的顺序排列就称为“路径” 根:树顶端的节点,一棵树只有一个根。 父节点:每个节点(除了根)...
1. 定义 指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构...
1. 定义 定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。 按实际业务场景划分,工厂模...
第七章 Java中的13个原子操作类 [toc] 从JDK 1.5开始提供了java.util.concurrent.atomic包(以下简称Atomic包),这个包中 的原...
上一篇介绍了,MySQL的索引,这次介绍如何对索引进行优化。 1. 工具使用 首先介绍一个工具,可以查看SQL语句的执行情况,是不是用到了索引,用到了哪个索引。 1.1 Ex...
1. 概述 事务是数据库区别于文件系统的重要特性之一。事务会把数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时,可以确保要么所有修改都已经保存了,要么所有修改都不...
1. 性能测试 1.1 确定需求 因为要支持某个业务,领导希望系统的某个接口能够支持2万的 QPS,因为我们的应用部署在多台机器上,要支持两万的QPS,我们必须先要知道该接口...
1. 定义 LRU是Least Recentily Used的缩写,即最近最少使用。是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段...
一、定义 指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建...
写在前面的话 本系列所有代码都基于Redis3.0。 Redis没有直接使用C语言传统的字符串表示,而是自己构建了一种名为简单动态字符串的抽象类型,并将SDS用作Redis的...
由于Redis使用的C语言并没有内置这种数据结构,所以Redis构建了自己的链表实现。 1. 定义 每个链表节点使用一个adlist.h/listNode结构来表示: 多个l...
字典,又称为符号表、关联数组或映射,是一种用于保存键值对的抽象数据结构。 Redis构建了自己的字典实现,并应用在自己的数据库中,对数据库的增删改查操作都是构建在对字典的操作...
跳跃表是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。 跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找。 Redis...
整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现。 1. 定义 整数集...
栈的实现 1 定义 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素...