09 2017 档案

摘要:C++STL提供了string基本字符系列容器来处理字符串,可以把string理解为字符串类,提供了添加删除\替换\查找和比较等丰富的方法.使用string容器,需要包含头文件声明#include 函数名描述begin得到指向字符串开头的Iteratorend得到指向字符串结尾的Iteratorrbegin得到指向反向字符串开头的Iteratorrend得到指向反向字符串结尾的Iteratorsi... 阅读全文
posted @ 2017-09-29 15:02 紫魔戒 阅读(243) 评论(0) 推荐(0)
摘要:vector对应的数据结构为数组,而且是动态数组,也就是说我们不必关心该数组事先定义的容量是多少,它的大小会动态增长。与数组类似的是,我们可以在末尾进行元素的添加和删除,也可以进行元素值的随机访问和修改。 vector是STL中最常见的容器,它是一种顺序容器,支持随机访问。vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似. 不同的地方就是:数组是静态分配空间,一旦分配了空... 阅读全文
posted @ 2017-09-29 15:01 紫魔戒 阅读(251) 评论(0) 推荐(0)
摘要:在分布式系统中,每一个机器节点虽然都能够明确地知道自己在进行实物操作过程中的结果是成功或失败,但却无法直接获取到其他分布式节点的操作结果。为了保持实物处理的ACID特性,就需要引入一个称为“协调者(Coordinator)”的组件来统一调度所有分布式节点的执行逻辑,这些被调度的分布式节点则被称为“参与者(Participant)”。协调者负责调度参与者的行为,并最终决定这些参与者是否要把事务真... 阅读全文
posted @ 2017-09-11 14:28 紫魔戒 阅读(419) 评论(0) 推荐(0)
摘要:Paxos发展史 Leslie Lamport所提出的Paxos算法是现代分布式系统中的一项重要的基础性技术,得到广泛的应用。Paxos的整个发展过程大概可以分为三个阶段: 第一阶段:萌芽期,大致是1988-1996年。Liskov等人在PODC上发表了Viewstamped Replication: A New Primary Copy Method to Support Highly-Av... 阅读全文
posted @ 2017-09-11 11:30 紫魔戒 阅读(997) 评论(0) 推荐(0)
摘要:randA()表示可以随机生成1……A的整数rand7()生成rand5()int Rand5(){ int x = ~(1 5) x = Rand7(); return x;}证明:我们要的1可能是第一次调用Rand7时产生,也可能是第二次,第三次,…第n次。 第1次就生成1,概率是1/7;第2次生成1,说明第1次没生成1到5间的数而生成了6,7, 所以概率是(2/... 阅读全文
posted @ 2017-09-06 10:08 紫魔戒 阅读(650) 评论(0) 推荐(0)
摘要:TCP超时重传 原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果没有得到发送的数据报的ACK报文,那么就重新发送数据,直到发送成功为止。 影响超时重传机制协议效率的一个关键参数是重传超时时间(RTO,Retransmission TimeOut)。RTO的值被设置过大过小都会对协议造成不利影响。 (1)RTO设长了,重发就慢,没有效率,性能差。 (2)RTO设短了,重发的就快,... 阅读全文
posted @ 2017-09-06 09:16 紫魔戒 阅读(433) 评论(0) 推荐(0)
摘要:CAP定理(原则)以及BASE理论CAP定理(原则)概念 CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。1. 数据一致性(consistency) 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的... 阅读全文
posted @ 2017-09-05 12:02 紫魔戒 阅读(1036) 评论(0) 推荐(0)
摘要:守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。 1、守护进程最重要的特性是后台运行。2、守护进程必须与其运行前的环境隔离开来。这些环境包括未关闭的文件描述符,控制终端,会话和进程组,工作目录以及文件创建掩模等。这些环境通常是守护进程从执行它的父进程(特别是shell)中继承下来的。3、守护进程的启动... 阅读全文
posted @ 2017-09-04 18:54 紫魔戒 阅读(1192) 评论(0) 推荐(0)
摘要:C++的四种强制类型转换为:static_cast、const_cast、reinterpret_cast和dynamic_cast类型转换的一般形式:cast-name(expression);static_cast任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast;double slope = static_cast(j) / i;注: 顶层const:表... 阅读全文
posted @ 2017-09-04 12:19 紫魔戒 阅读(598) 评论(0) 推荐(0)
摘要:HTTP状态码分类解释描述1XX信息服务器收到请求,需要请求者继续执行操作2XX成功操作被成功接收并处理3XX重定向需要进一步的操作以完成请求4XX客户端错误请求包含语法错误或无法完成请求5XX服务器错误服务器在处理请求的过程中发生了错误常见的状态码状态代码状态消息描述200成功处理请求无误301永久移动内容已移动到位置头中指明的主机上400错误请求服务器不能理解请求403禁止服务器无权访问所请求... 阅读全文
posted @ 2017-09-04 12:17 紫魔戒 阅读(824) 评论(0) 推荐(0)
摘要:大数据处理——Trie树1.1、什么是Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。它有3个... 阅读全文
posted @ 2017-09-04 12:10 紫魔戒 阅读(4486) 评论(0) 推荐(0)
摘要:Linux进程状态Linux内核中的进程状态◆运行状态(TASK_RUNNING)指正在被CPU运行或者就绪的状态。这样的进程被成为runnning进程。运行态的进程可以分为3种情况:内核运行态、用户运行态、就绪态。◆可中断睡眠状态(TASK_INTERRUPTIBLE)处于等待状态中的进程,一旦被该进程等待的资源被释放,那么该进程就会进入运行状态。◆不可中断睡眠状态(TASK_UNINTERRU... 阅读全文
posted @ 2017-09-04 12:08 紫魔戒 阅读(2462) 评论(0) 推荐(0)
摘要:TCP三次握手四次挥手标志位缩写全称中文SYNsynchronous建立联机ACKacknowledgement确认PSHpush传送FINfinish结束RSTreset重置URGurgent紧急SeqSequence number顺序号码ACKAcknowledge number确认号码状态名称意义LISTEN侦听来自远方TCP端口的连接请求SYN-SENT在发送连接请求后等待匹配的连接请求S... 阅读全文
posted @ 2017-09-04 11:45 紫魔戒 阅读(225) 评论(0) 推荐(0)
摘要:priority_queue优先队列/C++概述 priority_queue是一个拥有权值观念的queue,只允许在底端加入元素,并从顶端取出元素。 priority_queue带有权值观念,权值最高者,排在最前面。 缺省情况下priority_queue系利用一个max-heap完成,后者是一个以vector表现的complete binary tree。定义 由于priority_q... 阅读全文
posted @ 2017-09-04 11:23 紫魔戒 阅读(5271) 评论(0) 推荐(0)
摘要:[latexpage] Hash函数又称哈希函数、散列函数、杂凑函数。它是一种单向密码体制,即从一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。 Hash函数H将可变长度的数据块M作为输入,产生固定长度的Hash值h=H(M)。 在安全应用中使用的Hash函数称为密码学Hash函数。(单向 阅读全文
posted @ 2017-09-04 11:19 紫魔戒 阅读(4071) 评论(0) 推荐(0)
摘要:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)"Bit-map空间压缩和快速排序去重1. Bit-map的基本思想 32位机器上,对于一个整型数,比如int a=1 在内存中占32bit位,这是为了方便计算机的运算。但是对于某些应用场景而言,这属于一种巨大的浪费,因为我们可以用对应的32bit位对应存储十进制的0-3... 阅读全文
posted @ 2017-09-04 11:14 紫魔戒 阅读(23243) 评论(4) 推荐(2)
摘要:垃圾回收机制引用计数回收器(Reference Counting Collector) 原理是在每个对象内部维护一个整数值,叫做这个对象的引用计数,当对象被引用时引用计数加一,当对象不被引用时引用计数减一。当引用计数为 0 时,自动销毁对象。目前引用计数法主要用在 c++ 标准库的 std::shared_ptr 、微软的 COM 、Objective-C 和 PHP 中。 计数器表示资源(内... 阅读全文
posted @ 2017-09-04 10:59 紫魔戒 阅读(832) 评论(0) 推荐(0)