进程的地址空间分成代码段,静态数据段,堆和栈段。线程栈的位置和大小是从它所属的进程的栈中切分出来的。每个栈必须足够大,以容纳所有对等线程的函数的执行以及它们将会调用的例程链。或许你会问为什么要进行线程栈的管理?因为栈的管理由系统自动管理。但是针对具体问题,有可能系统自动管理的栈不能满足运行的要求,这时对线程的栈的管理是必要的。本文分为三个部分,第一部分给出管理线程栈的代码示例,第二部分对代码进行讲...
分类:
编程语言 时间:
2014-08-12 19:09:44
阅读次数:
193
管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来讲,释放工作有程序员控制,容易产生memory Leak。申请大小:栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存区域。这句话的意思是栈顶上的地址和栈的最大容量是系统预先规定好的,在Windows下,栈的大小是...
分类:
移动开发 时间:
2014-08-12 18:41:04
阅读次数:
310
CComBSTR会自动管理字符串的内存空间,在析构时释放空间。由于C++对象在出其作用域时会进行析构。所以有一些情形下,使用CComBSTR容易犯下错误。来看以下代码: BSTR bstr1 = CComBSTR(L"hello"); BSTR bstr2 = CComBSTR(L"wo...
分类:
其他好文 时间:
2014-08-01 19:18:02
阅读次数:
302
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics、Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环境下编译器不会自动管理CF对象的内存,所以当我们创建了一个CF对象以后就需要我们使用CFReleas...
分类:
其他好文 时间:
2014-08-01 15:57:01
阅读次数:
181
Java栈与堆 (一天一个知识点2014-07-28)----对这两个概念的不明好久,终于找到一篇好文,拿来共享 1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅...
分类:
编程语言 时间:
2014-07-28 14:37:53
阅读次数:
324
1.OC中内存管理方式分MRC和ARC两种MRC:手动管理引用计数。ARC:自动管理引用计数。ARC实现的原理是MRC。2.引起引用计数变化的方法加1:alloc,retain,copy;减一:release(引用计数立即减一),autorelease(在未来的某个时刻引用计数减一,这个时刻跟au....
分类:
其他好文 时间:
2014-07-24 22:26:22
阅读次数:
229
Xcode4.2(iOS 5)以后启用了ARC(Automatic Reference Countion)技术(即内存自动管理机制)1、需要iOS5才支持;2、很多引用的类库暂时还不支持.麻烦的是对大多数第三方库需要加禁用arc的编译flag,因为大多都因为兼容性还在使用手动内存管理。虽然4.2以后...
分类:
其他好文 时间:
2014-07-16 21:34:59
阅读次数:
218
一、oracle还原数据自动管理的一些参数:1、oracle 9i之前的一些程序中开发的脚步上包含手动指定回滚段的语句。这样的语句在执行是虽然对最终结果没有影响但是会在控制台报错,对用户的感觉不好。故引入动态参数UNDO_SUPPRESS_ERRORS那么在自动管理还原数据的模式下手动指定或设置还原...
分类:
其他好文 时间:
2014-07-16 13:35:32
阅读次数:
149
oracle是通过还原表空间来实现还原数据的自动管理的,oracle9i以后才引入还原数据段的自动管理。oracle为每个实例分配一个还原表空间,该表空间要有足够的空间以应对该实例的工作负荷,之后oracle服务器将自动维护和管理还原表空间中的还原数据。要实习oracle的自动管理还原数据必须在初始...
分类:
其他好文 时间:
2014-07-13 13:08:11
阅读次数:
192
C语言和Lua天生有两大隔阂:一、C语言是静态数据类型,Lua是动态数据类型二、C语言需要程序员管理内存,Lua自动管理内存为了跨越世俗走到一起,肯定需要解决方案。解决第一点看上去比较容易,C语言中有union。可是第二点呢?万一C语言正引用着Lua的一个值,Lua自动释放了怎么办?所以就有了一种比...
分类:
编程语言 时间:
2014-07-09 21:57:05
阅读次数:
343