一、堆内存和栈内存 程序运行时内存分配有三种:静态存储分配,栈式存储分配,堆式存储分配 1.静态存储分配: 在程序编译时就可以确定数据目标在运行时所需要的内存,因此在编译时就为其分配固定大小的内存。 这种分配策略不允许代码中有可变数据结构,比如可变数组,嵌套循环结构或者递归,否则无法计算所需要的内存 ...
分类:
编程语言 时间:
2017-02-22 16:41:19
阅读次数:
210
IOS 中runtime 不可变数组__NSArray0 和__NSArrayI 大家可能都遇到过项目中不可变数组避免数组越界的处理:runtime,然而有时候并不能解决所有的问题,因为类簇不一样 #import "NSArray+Security.h" #import "NSObject+Swiz ...
分类:
移动开发 时间:
2016-12-15 17:56:52
阅读次数:
212
首先说下我的需求:在A控制器,我有一个可变的自定义模型数组, 我要跳转到B控制器进行编辑的时候,我传入该模型数组.在B控制器我进行编辑,然后保存的时候把编辑后的数组逆传回去 刚开始,没觉得哪里不对,后来发现在B控制器只要我改动了原来的数据,即使不点击保存,而是直接pop掉B控制器返回A控制器,我的模 ...
分类:
编程语言 时间:
2016-11-25 17:03:32
阅读次数:
336
1静态初始化:这个值是多少就是多少,不能够改变 int[] arr = {1,2,3,4,5}; 2.动态初始化:不可变的数组 可变数组 》集合 ArrayList //这是一个指定的数组,但也可以不指定 //如果元素没有被赋值,默认以0来填充。 int[] arr = new int[10]; 3 ...
分类:
编程语言 时间:
2016-11-14 15:06:13
阅读次数:
124
巩固下基础,阅读下jdk的源码,这篇文章是来介绍下ArrayList的实现。 1. ArrayList概述 List 接口的大小可变数组的实现,位于API文档的java.util.ArrayList<E>。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类 ...
分类:
其他好文 时间:
2016-10-25 19:09:34
阅读次数:
184
集合 1、层次 1.接口 Collection 1 List 列表 实现类 ArrayList 特点:实现了可变数组,有序,可引用索引。 定义方式:List<泛型>集合名称=new 实现类<泛型>。 LinkeList 特点:以链表的形式保存数据,修改和删除速度快,随机存取速度慢 添加数据 .add ...
分类:
编程语言 时间:
2016-09-24 13:28:18
阅读次数:
155
//1.回顾C数组排序 int a[6] = {1,4,3,5,6,2}; //选择 for (int i =0; i<6-1; i++) { for (int j = i+1; j<6;j++) { if(a[i]>a[j]){ int tmp = a[i]; a[i] = a[j]; a[j] ...
分类:
移动开发 时间:
2016-09-23 18:28:19
阅读次数:
189
#pragma mark 可变数组的排序 NSMutableArray * array = [NSMutableArray arrayWithObjects: @"1",@"8",@"2",@"7",@"2",@"5",@"9",nil]; //选择 for (int i =0; i<[array ...
分类:
移动开发 时间:
2016-09-23 18:27:58
阅读次数:
262
#pragma mark 创建数组c NSMutableArray * array =[[NSMutableArray alloc] initWithObjects:@"a",@"b",@"c" ,nil]; NSMutableArray * array1 =[NSMutableArray arra ...
分类:
移动开发 时间:
2016-09-23 18:22:45
阅读次数:
162
#pragma mark 创建数组 //1.通过对象方法创建数组 NSArray * array = [[NSArray alloc]initWithObjects:@"One",@"Two",@"Three",@"Four",@"Five", nil]; // NSLog(@"%@",array) ...
分类:
移动开发 时间:
2016-09-23 18:12:19
阅读次数:
188