为了保证数据库中多个用户间的读一致性和能够回退事务。一、在一个简单的更新语句中,对于回滚段的操作存在多处,在事务开始时,首先需要在回滚表空间获得一个事务槽,分配空间,然后创建前镜像,此后事务的修改才能进行,oracle必须以此来保证事务是可以回滚的。如果用户提交了事务,oracle会在日志文件记录提...
分类:
数据库 时间:
2014-05-24 05:49:21
阅读次数:
431
譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10。 Revert
to this revision: 如果在版本6这里点击“Revert to this
revision”,表示7~10的修改全部作废,历史倒退到了版本6那个年代。 Revert changes fr.....
分类:
其他好文 时间:
2014-05-24 01:09:17
阅读次数:
252
Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的。这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了。oracle10g大大的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力,这是通过引入一种新的fla...
分类:
数据库 时间:
2014-05-22 03:04:54
阅读次数:
292
Unwind
segue能被用作导航控制器中的回退,可以有push,modal,和popover三种效果。(效果和直接使用导航控制器的效果相同,不过更加强大)。
假设情况A是导航控制器的根控制器,而跟控制器之下有另外的一个B控制器,B之下还有一个C控制器,层次还可以更加的深,从最深层次的控制器回到....
在日常使用GIT过程中,经常会出错,比如无意间丢失了未提交的数据,回退版本时丢失了工作目录,等等。经过思考发现,所有这些错误都是因为对GIT中一些基本的概念模糊而导致,因为对一些基本概念不清晰,导致对GIT每一条命令将会产生的结果不符合预期。下面我就梳理以下我经常碰到的问题相关的基本概念。1.
Wo...
分类:
其他好文 时间:
2014-05-19 15:33:38
阅读次数:
266
//按返回键退出Applicationvoid Update ()
{if(Input.GetKey(KeyCode.Escape)){ Application.Quit();}} //按两次返回退出程序if
(_waitTime < 2){ GUI.Label(n...
分类:
其他好文 时间:
2014-05-18 19:01:51
阅读次数:
409
啊啊啊啊,好怀念这种用递归保存路径然后打印出来的题目啊,好久没遇到了。
分了两种,一种是可以重复使用数组中数字的,一种是每个数字只能用一次的。其实没有多大区别,第一种每次进入递归的时候都要从头开始尝试,第二种要找一个标记的数组,把已经用到过的排除掉,就像生成全排列时的做法一样。跟我一样用引用保存中间结果的话,要注意回退的情况。第二种回退时,要把用到的那个数也恢复为可用,就完全像全排列时做的一样。...
分类:
其他好文 时间:
2014-05-15 04:46:34
阅读次数:
272
当kmp在母串中匹配到子串之后,删去子串相当于把失配指针往回退到匹配位置的前一个,如果只回退一次的话,直接用数组就可以处理失配指针了,但是本题可能删除后存在多个子串,所以用栈把失配指针位置先存起来,然后找到一次把len长度的失配指针删去,然后栈顶元素就是第一句话说的回退出匹配位置的前一个了。
为了方便调用函数,把以前的kmp改成了接口,方便使用,这样就不用开全局变量的数组了,代码看起来更符合工作...
分类:
其他好文 时间:
2014-05-14 20:20:53
阅读次数:
362
有时一个互斥量是不够的:
比如:
当多个线程同时访问一个队列结构时,你需要2个互斥量,一个用来保护队列头,一个用来保护队列元素内的数据。
当为多线程建立一个树结构时,你可能需要为每个节点设置一个互斥量。
同时使用多个互斥量会导致复杂度的增加
最坏的情况就是死锁的发生,即两个线程分别锁住一个互斥量而等待对方的互斥量。
多互斥量可能导致死锁:
如果...
分类:
编程语言 时间:
2014-05-13 16:32:03
阅读次数:
533
一、@Resource注解原理
@Resource可以标注在字段或属性的setter方法上
1. 如果指定了name属性, 那么就按name属性的名称装配;
2. 如果没有指定name属性, 那就按照默认的名称查找依赖对象;
3. 如果按默认名称查找不到依赖对象, 那么@Resource注解就会回退到按类型装配;...
分类:
编程语言 时间:
2014-05-13 06:44:02
阅读次数:
565