续lvm-snapshot:基于LVM快照的备份之准备工作Attention,Please!重头戏开始啦3.基于LVM快照的备份lvm-snapshot:基于LVM快照的备份(1)事务日志跟数据文件必须在同一个卷上;(2)创建快照卷之前,要请求MySQL的全局锁;在快照创建完成之后释放锁;(3)请求全局锁完成之后,做一次..
分类:
其他好文 时间:
2014-05-05 12:14:16
阅读次数:
452
堆块分配时的任意地址写入攻击原理堆管理系统的三类操作:分配、释放、合并,归根到底都是对堆块链表的修改。如果能伪造链表结点的指针,那么在链表装卸的过程中就有可能获得读写内存的机会。堆溢出利用的精髓就是用精心构造的数据去溢出下一个堆块的块首,改写块首中的前向指针
Flink 和后向指针 Blink,然后...
分类:
其他好文 时间:
2014-05-05 09:47:29
阅读次数:
491
1.sgi STL"标准"的空间适配器: 该适配器很简单,只是对new
delete等内存分配释放函数的一层简单封装而已,所以sgi stl几乎没用上它(效率太低),代码位于defalloc.h.2.sgi stl特殊适配器
std::alloc: 该版本作为stl中的默认适配器,主要分成两个部分:...
分类:
其他好文 时间:
2014-05-04 12:41:42
阅读次数:
381
实现 smart_ptr 智能指针会自动地管理内存(释放不需要的内存),而不需要程序员去操心。
它能避免迷途指针(dangling pointers),内存泄漏(memory leaks), 分配失败等情况的发生。智能指针需要为所有实例维护一个引用计数,
这样才能在恰当的时刻(引用计数为0时)...
分类:
编程语言 时间:
2014-05-04 11:56:03
阅读次数:
380
1、堆和栈什么区别?答:管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory
leak2、数组和链表什么区别?答:数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。
链表恰好相反,链表中的元素在内...
分类:
移动开发 时间:
2014-05-04 10:37:16
阅读次数:
453
共享锁S,加锁后,其它事务只能叠加S;独占锁X,加锁后具有排它性,其它事务加不了锁。①
ReadUnCommitted不加锁,也不接受独占锁,在这个事务隔离级别下可以读到脏数据(未被提交的过期数据或读取后被回滚),当然也包括不可重复读和幻像数据。②
ReadCommitted读前加共享锁,读完就释放...
分类:
其他好文 时间:
2014-05-04 10:09:39
阅读次数:
250
当被请求的action方法中还有资源没有释放时,请求方法是不会返回的,会一直停留在方法中,即使是最后一行,因为请求方法一旦返回,那方法中的资源,引用就没有位置住了,所以所请求的方法会一直不返回,直到方法中的所有资源,引用可以销毁时,这样会导致客户端一直得不到响应。所有在方法中一定要记得释放资源。
分类:
其他好文 时间:
2014-05-03 22:07:15
阅读次数:
288
复制控制--析构函数引言: 在构造函数中分配了资源之后,需要一个对应操作自动回收或释放资源。析构函数就是这样的一个特殊函数,它可以完成所需的资源回收,作为类构造函数的补充。1、何时调用析构函数 撤销类对象时会自动调用析构函数: Sales_item *p = new Sales_item;
{
Sales_item item(*p); //调用复制构造...
分类:
编程语言 时间:
2014-05-03 21:09:42
阅读次数:
281
boost的智能指针给编程带来了极大的便利,不需要关心内存的释放,不要要调用delete,而且还可以定制delete的方法。其实boost的智能指针是可以当成scope_exit来用的,同样是退出时处理。但是凡事都是有利有弊,boost的shared_ptr如果在循环引用的时候会出现无法释放内存的情况,所谓循环引用就是A智能指针类里存放B的智能指针,B的智能指针类里存放A,将a、b的值互相设置。增...
分类:
其他好文 时间:
2014-05-03 21:06:19
阅读次数:
274