悲观锁: 假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作 乐观锁: 假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。 乐观锁与悲观锁的具体区别: http:/...
Redis是什么? 1. 是一个完全开源免费的key-value内存数据库 2. 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings、map、 list、sets、 sorted sets Redis数据库 > 通常...
推荐: http://tech.meituan.com/mysql-index.html [MySQL索引背后的数据结构及算法原理](http://blog.codinglabs.org/articles/theory-of-mysql-index.html) 聚集索引,非聚集索引,B-Tree,B+Tree,最左前缀原理...
数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 彻底理解数据库事务: http://www.hollischuang.com/archives/898...
推荐: http://www.ruanyifeng.com/blog/2014/11/compiler.html Bulid过程可以分解为4个步骤:预处理(Prepressing), 编译(Compilation)、汇编(Assembly)、链接(Linking) 以c语言为例: 1 预处理 预编译过程主要处理那些...
原因: 1. 竞争资源 2. 程序推进顺序不当 必要条件: 1. 互斥条件 2. 请求和保持条件 3. 不剥夺条件 4. 环路等待条件 处理死锁基本方法: 1. 预防死锁(摒弃除1以外的条件) 2. 避免死锁(银行家...
1. 先来先服务(FCFS, First Come First Serve) 2. 短作业优先(SJF, Shortest Job First) 3. 最高优先权调度(Priority Scheduling) 4. 时间片轮转(RR, Round Robin) 5. 多级反馈队列调度(multilevel feedback queue scheduling)...
其实所有的I/O都是轮询的方法,只不过实现的层面不同罢了. 这个问题可能有点深入了,但相信能回答出这个问题是对I/O多路复用有很好的了解了.其中tornado使用的就是epoll的. [selec,poll和...
引自知乎:http://www.zhihu.com/question/20053359 函数重载主要是为了解决两个问题。 1. 可变参数类型。 2. 可变参数个数。 另外,一个基本的设计原则是,仅仅当两个函数除了参数类型和参数个...
这个面试官问了,我说了老半天,不知道他问的真正意图是什么. 这篇文章很好的介绍了新式类的特性: http://www.cnblogs.com/btchenguang/archive/2012/09/17/2689146.html 新式类很早在2.2就出现了,所以旧...