1.OC中内存管理方式分MRC和ARC两种MRC:手动管理引用计数。ARC:自动管理引用计数。ARC实现的原理是MRC。2.引起引用计数变化的方法加1:alloc,retain,copy;减一:release(引用计数立即减一),autorelease(在未来的某个时刻引用计数减一,这个时刻跟au....
分类:
其他好文 时间:
2014-07-24 22:26:22
阅读次数:
229
1、编写calloc,内部用malloc。
void *calloc (size_t n, size_t size)
{
char * memory;
memory =(char*) malloc(n * size);
while( memory != NULL)
{
char * ptr;
ptr = memory;
while ( --n >= 0)
{
*pt...
分类:
其他好文 时间:
2014-07-23 22:40:17
阅读次数:
409
要了解多线程首先要知道什么是进程,什么是进程?正在进行中的程序被称为进程,负责程序运行的内存分配每一个进程都有自己独立的虚拟内存空间什么是线程:线程是进程中一个独立的执行路径(控制单元)一个进程中至少包含一条线程,即主线程可以将耗时的执行路径(如:网络请求)放在其他线程中执行创建线程的目的就是为了开...
分类:
编程语言 时间:
2014-07-22 22:48:13
阅读次数:
323
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:◆寄存器:我们在程序中无法控制◆栈:存放基本类型的数据和对象的...
分类:
编程语言 时间:
2014-07-22 22:45:13
阅读次数:
322
堆和栈的区别 (转贴) 非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆...
分类:
其他好文 时间:
2014-07-22 22:44:15
阅读次数:
326
问题:Strings="a"+"b"+"c"; 这里,我们先不考虑"a","b","c"是放置在池中这个问题。 这个"+"操作符,java到底是怎么对待的? 一种说法是"a"是一个字符串对象,+"b"之后,又生成一个字符串对象,大概是"ab",+"c"之后,再生成一个字符串对象,大概是"a...
分类:
其他好文 时间:
2014-07-22 00:37:34
阅读次数:
163
- - - - - android培训、java培训、期待与您交流! - - - - - -进程:正在进行中的程序。其实进程就是一个应用程序运行时的内存分配空间。进程负责的是应用程序的空间的标示。线程:其实就是进程中一个程序执行控制单元,一条执行路径。线程负责的是应用程序的执行顺序。一个进程至少有一...
分类:
编程语言 时间:
2014-07-21 23:30:21
阅读次数:
264
《C++ Primer Plus》学习笔记7
第12章 类和动态内存分配
1、动态内穿和类
1)静态数据成员在类声明中声明,在包含类方法的文件中初始化,初始化时使用作用域操作符来指出静态成员所属的类,但如果静态成员是整型或枚举型const,则可以在类声明中初始化。
2)new分配足够的内存的时候一般都是这种形式
len = strlen(s);
str = new char[le...
分类:
编程语言 时间:
2014-07-21 23:29:04
阅读次数:
388
第十一章 动态内存分配
数组在声明的时候,本身作为一个指针常量,它在编译时候内存就已经被分配好了。但是有时候程序不知道这个数组到底有多长,所以,为了防止内存的浪费,C提供了动态内存分配的策略。
其实,作为独立的一章,本章显得内容不多。malloc,free,calloc,realloc就没有了,但是它包含很多用法,也有很多陷阱。
总结:
malloc和calloc函数都用于动态分配...
分类:
其他好文 时间:
2014-07-21 23:23:53
阅读次数:
265
对于移动应用开发,不管是Android还是IOS,内存都是永远的痛。但是合理的编写代码,会避免OOM的出现。...
分类:
移动开发 时间:
2014-07-21 11:18:14
阅读次数:
204