转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308762.html fail-fast简介 fail-fast 机制是jav...
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308762.html fail-fast简介 fail-fast 机制是jav...
HashMap和Hashtable的区别 HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(s...
在使用java集合的时候,都需要使用Iterator。但是java集合中还有一个迭代器ListIterator,在使用List、ArrayList、LinkedList和Ve...
信号与信号量是不同的两种事物。 什么是信号量 为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有...
该博客中的大部分内容均非原创,均来源网络,本人只是转载整理后便于复习,并非出于任何商业目的使用。而且本人使用该博客也并未用于传播知识,自己作为自己的知识体系整理。
共享内存 顾名思义,共享内存就是允许两个不相关的进程访问同一片物理内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为...
消息队列 消息队列提供了一种从一个进程向另一个进程发送一个数据块的方法。 每个数据块都被认为含有一个类型,接收进程可以独立地接收含有不同类型的数据结构。我们可以通过发送消息...
一、定义位图法就是bitmap的缩写。所谓bitmap,就是用每一位来存放某种状态,适用于大规模数据,但数据状态又不是很多的情况。通常是用来判断某个数据存不存在的。在STL中...
介绍 有时候我们需要设计这样一种数据结构:它能快速在要求位置插入或者删除一段数据。先考虑两种简单的数据结构:数组和链表。数组的优点是能够在O(1)的时间内找到所要执行操作的位...
[本文新址: http://www.ahathinking.com/archives/10.html ] 并查集:(union-find sets) 一种简单的用途广泛的集合...
有 n 个结点的二叉链表中,其二叉链表的 n 个结点中共有 2n 个指针域,在这 2n 个指针域中,真正用于指向后件(左子结点或右子结点)的指针域只有 n-1 个,而另外的 ...
注意:本文摘抄自陈皓的:TCP那些事 关于TCP/IP协议层次划分 我们需要知道TCP在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network...
本文摘抄自什么是尾递归 问题一:什么是尾递归? 这两个函数都是在计算n的阶乘,结果一样的,但只有下面的facttail函数才是尾递归。所以可以看出,尾递归的概念就是函数返回之...
仿函数、仿函数类、函数等 条款38:把仿函数类设计为用于值传递 STL中的习惯是当传给函数和从函数返回时函数对象也是值传递的(也就是拷贝)。最好的证据是标准的for_each...
迭代器 标准STL容器提供了四种不同的迭代器:iterator、const_iterator、reverse_iterator和const_reverse_iterator ...
vector和string 所有的STL容器都很有用,但是相比于其他容器,vector和string更常用。本章从多个角度覆盖vector和string,如:为什么提倡使用 ...
容器 条款1:仔细选择你的容器 C++提供了很多可供程序员使用的容器:(1) 标准STL序列容器:vector,string,deque和list(2) 标准STL关联容...
给定单链表,检测是否有环。如果有环,则求出进入环的第一个节点。 判断单向链表是否有环,可以采用快指针与慢指针的方式来解决。即定义一个快指针fast和一个慢指针slow,使得f...
二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性: 父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。 每个结点的左子树和右子树都是一个二...
分布式哈希表(DHT: Distributed Hash Table) 我们将散列表放在一个机器的内存里,当散列表比较小时候,没有问题,但如果这张散列表超过了一台机器的内存时...