(问题一:什么叫垃圾回收机制?)垃圾回收是一种动态存储管理技术,它自动地释放不再被程序引用的对象,按照特定的垃圾收集算法来实现资源自动回收的功能。当一个对象不再被引用的时候,内存回收它占领的空间,以便空间被后来的新对象使用,以免造成内存泄露。(问题二:java的垃圾回收有什么特点?)JAVA语言不允...
分类:
编程语言 时间:
2014-10-23 22:21:25
阅读次数:
237
堆和栈的区别主要有以下五点:1、管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来讲,释放工作由程序员控制,容易产生memory leak(内存泄露)。2、申请大小:栈是向低地址扩展的数据结构,是一块连续的内存区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,是一个编...
分类:
移动开发 时间:
2014-10-23 20:37:21
阅读次数:
257
动态按钮(多个)的创建:1、在类中声明并定义按钮控件的ID#define IDC_D_BTN 100002、在类的OnInitDialog()函数中动态创建按钮(建立按钮对象时最好建立对象的指针)3、手动释放对象指针下面是动态生成多个按钮的例子:CButton* btn = new CButton[...
分类:
编程语言 时间:
2014-10-23 19:02:52
阅读次数:
213
android中Application是用来保存全局变量的,在package创建的时候就存在了,到所有的activity都被destroy掉之后才会被释放掉。所以当我们需要全局变量的时候只要在application中去实现,通过调用Context的getApplicationContext或者Act...
分类:
移动开发 时间:
2014-10-23 14:23:08
阅读次数:
163
1 基础概念
自旋锁与互斥锁有点类似,只是自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁,"自旋"一词就是因此而得名。
由于自旋锁使用者一般保持锁时间非常短,因此选择自旋而不是睡眠是非常必要的,自旋锁的效率远高于互斥锁。
信号量和读写信号量适合于保持时间较长的情况,它们会导致调用者睡眠,因此只能在进程...
分类:
其他好文 时间:
2014-10-23 10:45:39
阅读次数:
251
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 堆,就是那些由new分配的内存块...
分类:
编程语言 时间:
2014-10-23 08:08:33
阅读次数:
224
目录3第1章创建和运行请求51.1.创建一个同步请求51.2.创建一个异步请求51.3.使用程序块(blocks)61.4.使用队列61.5.在委托方法中处理多个请求的成功和失败71.6.关于ASINetworkQueues71.7.取消一个异步请求81.8.安全处理委托在请求完成前释放的情况8第2章发送数据102.1.发送请..
分类:
Web程序 时间:
2014-10-23 07:00:08
阅读次数:
326
1 C++内存管理
A
栈上的空间
自生自灭,不用管理
B
堆上的空间
手动new,手动delete,否则产生内存泄漏
2
内存管理的难处
管理原则,谁申请谁释放
...
分类:
其他好文 时间:
2014-10-23 00:03:14
阅读次数:
264
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/11100315我个人是比较喜欢逛贴吧的,贴吧里总是会有很多搞笑的动态图片,经常看一看就会感觉欢乐很多,可以释放掉不少平时的压力。确实,比起一张单调的图片,动态图片明显更加的有意思。一般...
分类:
移动开发 时间:
2014-10-22 23:32:47
阅读次数:
349
我们下边介绍如何通过SQLite3提供的API实现MyNotes数据库创建。创建数据库一般需要经过如下三个步骤。(1) 使用sqlite3_open函数打开数据库。(2) 使用sqlite3_exec函数执行Create Table语句,创建数据库表。(3) 使用sqlite3_close函数释放资源。在这个过程中,我们使用了三个SQLite3 API函数,它们都是纯C语言函数。在Cocos2d-...
分类:
数据库 时间:
2014-10-22 20:26:03
阅读次数:
274