1、概述
Lua中userdata分两种,一种是轻量级userdata(light userdata),轻量级userdata是一种表示C指针的值,对Lua虚拟机来说,这种数据类型不需要GC(垃圾回收),其指向的内存由用户分配和释放,其实现就是一个void *p指针;后一种userdata类型完全userdata(full userdata),内存是由Lua虚拟机分配,并有GC机制负责处...
分类:
其他好文 时间:
2015-04-15 19:34:53
阅读次数:
554
今天遇到一个从没有遇见的问题,就是领导说他的回收站损坏了,要我去看下,我一开始也没用辙,网上搜了很多,说在命令提示符里面修改,我试了不行,后来我这样做就好了:1、打开计算机2、找到工具选项,单击选择文件夹选项3、打开文件夹选项选择查看4、把图中所选择的前面√都去掉点击应用,5、打开对应回收站损坏的那...
新生代GC的主要工作是回收eden区和survivor区。一旦eden区被占满,新生代GC就会启动。新生代GC收集前后的堆数据如图5.6所示,其中E表示eden区,S表示survivor区,O表示老年代。
分类:
编程语言 时间:
2015-04-14 14:21:28
阅读次数:
148
新生代GC的主要工作是回收eden区和survivor区。一旦eden区被占满,新生代GC就会启动。新生代GC收集前后的堆数据如图5.6所示,其中E表示eden区,S表示survivor区,O表示老年代....
分类:
编程语言 时间:
2015-04-14 13:02:42
阅读次数:
151
/* JavaScript实现了自动释放内存的系统,当代码不再需要时,就从电脑的内存中把它移除。这些自动化系统叫做垃圾回收(garbage collector)。 当函数执行完毕时,管理内存的本地方法会将函数中所有创建了的东西从内存中移除。毕竟函数已经执行完毕,所以似乎我们不再需要访问该执行环境.....
分类:
编程语言 时间:
2015-04-14 07:04:12
阅读次数:
201
根据变量的作用域,可分为局部变量:● 定义:在函数或代码块内部定义的变量● 作用域:从定义变量的那一行开始,一直到代码块结束● 声明周期:从定义变脸的那一行开始分配存储空间,代码块结束后就会被回收● 没有固定的初始值全局变量:●定义:在函数外面定义的变量●作用域:从定义变量的那一行开始,一直到文件结...
分类:
编程语言 时间:
2015-04-14 00:28:01
阅读次数:
130
内存管理方针用于内存管理的基本模型采用引用计数的环境之中提供的组合方法中定义在NSObject协议和标准方法的命名约定。NSObject类也定义了一个方法:dealloc,当调用一个对象时自动回收,本文描述了Cococa程序中你需要知道的基本规则,同时提供了许多正确的使用示例基本的内存管理规则方针内...
分类:
其他好文 时间:
2015-04-14 00:20:07
阅读次数:
209
一个进程运行时,所占用的内存,可以分为如下几个部分:
1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。
2、堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS 回收。
3、全局变量、静态变量:初始化的全局变量和静态变量在一块区域,未初始化的全局变量
和未初始化的静态变量在相邻的另一块区域。程序结束后有系统释放。
4、文字常量:常量...
分类:
系统相关 时间:
2015-04-13 16:44:08
阅读次数:
147
创建一个线程默认的状态是joinable, 如果一个线程结束运行但没有被join,则它的状态类似于进程中的Zombie Process(僵尸进程),即还有一部分资源没有被回收(退出状态码),所以创建线程者应该调用pthread_join来等待线程运行结束,并可得到线程的退出代码,回收其资源(类似于w...
分类:
其他好文 时间:
2015-04-13 12:37:32
阅读次数:
184
Thread的run方法是不抛出任何检查型异常(checked exception)的,但是它自身却可能因为一个异常而被终止,导致这个线程的终结。最麻烦的是,在线程中抛出的异常即使使用try...catch也无法截获,因此可能导致一些问题出现,比如异常的时候无法回收一些系统资源,或者没有关闭当前的连...
分类:
编程语言 时间:
2015-04-13 12:34:46
阅读次数:
138