- 浏览: 443345 次
- 性别:
- 来自: 上海
最新评论
-
无名草:
讲得真不错
一致性哈希算法 -
haoran_10:
gegewuqin9 写道不知道是不是这个意思01111111 ...
计算机字符编码从0/1到UTF-8 -
gegewuqin9:
不知道是不是这个意思01111111表示一个字节的utf-8字 ...
计算机字符编码从0/1到UTF-8 -
somefuture:
好棒,再多一些介绍就好了
计算机字符编码从0/1到UTF-8 -
haoran_10:
yybing110 写道这种算法 适用于什么情况呢? 归并过程 ...
排序算法(4)--归并排序
文章列表
一、线程实现方式
线程实现有两种方式:继承Thread类,实现Runnable接口
1、继承Thread类
public class MyThread extends Thread{
@Override
public void run() {
System.out.println("Mythread执行");
}
}
public class TestMain {
public static void main(String[] args) {
MyThr ...
简介: 二分查找算法是针对有序数组进行查找某个元素的算法,时间复杂度为Ο(logn) 。
一、主要步骤
有序数组arr(假设从小到大),待查找元素x
(1)、直接从中间一个元素开始找,mid = (0+arr.length)/2
(2)、如果arr[mid]大于x,说明目标索引在mid索引的左半边,把左边当作一个完整的数组继续查找
(3)、如果arr[mid]小于x,说明目标索引在mid索引的右半边,把右边当作一个完整的数组继续查找
(4)、如果arr[mid]等于x,那就找到了
二、代码实现
public int search(int[] arr,int ...
简介:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。
将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。
一、主要步骤
将待排序数组[0...n-1]看成是n个长度为1的有序序列,将相邻的有序表成对归并,得到n/2个长度为2的有序表;将这些有序序列再次归并,得到n/4个长度为4的有序序列;如此反复进行下去,最后得到一个长度为n的有序序列。
综上可知:
归并排序其实要做两件事:
(1)“分解”——将序列每次折半划分 ...
一、插入排序
(1)、主要思路:
假设数组分为两部分,有序部分【0~i-1】,无序部分【i~N】。初始有序部分只有一个元素。
从有序部分【0~i-1】中找到一个值小于(或大于)数组【i】的位置,即为将要排序的数据
把数 ...
继续上篇的交换排序--冒泡排序&快速排序,本篇介绍选择排序和堆排序
一、选择排序
非常的简单直观,每次找出最小或者最大的值存储起来,继续找剩下的值存储起来,直达最后一个元素。
从arr[0]~arr[N]中找出最小的 ...
已经好久没写算法了,脑袋都生锈了。。
首先排序分为四种:
交换排序: 包括冒泡排序,快速排序。
选择排序: 包括直接选择排序,堆排序。
插入排序: 包括直接插入排序,希尔排序。
...
nginx(1)、nginx入门
nginx(2)、nginx常用配置
TODO:
https配置
nginx反向代理
虚拟主机
nginx做负载均衡
nginx安全
#user nobody;
error_log logs/error.log info;
pid logs/nginx.pid;
1、user nobody:
定义Nginx运行的用户和用户组
2、error_log logs/error.log info:
全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
3、pid logs/nginx.pid; :
进程pid文件
worker_processes auto;
worker_ ...
一、什么是nginx
Nginx ("engine x") 是一个高性能的HTTP和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的。其将源代码以类BSD许可证的形式发布, ...
前记:由于在学习redis 集群时使用到了twemproxy方案,twemproxy是以一致性哈希算法为原理进行代理多个孤立的redis 节点集成集群。所以很有必要学习下一致性哈希算法。
一、什么是一致性哈希
一致性哈希算法在1997年由麻省理工学院提出,设计目标是为了解决因特网中的热点(Hot spot)问题。
初衷和CARP(Common Access Redundancy Protocol共用地址冗余协议)十分类似。
一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT(Distributed Hash Table,分布式哈希表)可以在P2P环境中真正得 ...
redis技术目录
twemproxy is a fast, light-weight proxy for memcached and redis。是一个代理redis程序,redis cluster是无中心的基于哈希槽的方案,而twemporxy是自身启动一个代理程序,代理程序为中心,基于一致性哈希算法的方案。
官网是https://github.com/twitter/twemproxy,很多公司用这个方案实现了redis集群,在没有redis cluster方案之前,redis作者也推荐使用twemproxy方案。
主要的优点有:
速度快
...
redis技术目录
前提:redis集群分片,目前redis有两类方案
哈希槽(hash slot),代表方案:redis cluster
一致性哈希,代表方案:twemproxy、codis
本篇是针对redis cluster配置实现,原理会在另一个文章在解析。By haoran-10.itey ...
redis技术目录
如果redis部署在内网,外部机器访问不到,那么下面的内容不需要看。
如果redis部署在公网,还是稍微看下吧,近期出现的redis安全事件还是挺严重的,大部分机器甚至被黑了。
设置安全主要有几种方法:
...
redis技术目录
redis持久化,顾名思义,就是把内存中的数据保存到硬盘上,以防redis发生意外造成数据丢失。
目前有两种方案,RDB方式和AOF方式。前者会根据配置的规则定时将内存中的数据持久化到硬盘上,后者则是在每次执行写命令之后将命令记录下来。两种持久化方式可以单独使用,但是通常会将两者结合使用。按照redis作者的想法,这两个方案最终会在以后的版本中合成一个。
一、快照 RDB
(1)、介绍
redis 持久化的RDB文件是经过压缩的二进制文件,保存了内存中的键值对数据,存在硬盘里,防止redis数据库出现故障时数据丢失。
当redis数据库出现故障时,可以 ...
redis技术目录
一、redis复制介绍
(1)什么是redis复制
redis复制即redis replication,主要用于主从(master-slave)数据复制异步备份,或者读写(read-write)分离。使用和配置起来非常简单,从redis服务器会复制并且保存主redis服务器的数据,从而达到备份需求或者同步数据之后,其他客户端读分离的需求。
而常用的redis复制使用方案
a)、读写分离简要图示:
适用场景:适用于数据量不是非常大,单机的数据复制到相同的多台服务器,多台的服务器数据相同,从而达到读写分离,负债均衡的作用。事实上,稍微性能强悍 ...