导读 正确的理解C/C++程序的内存分区,是合格程序猿的基本要求. 网络上流形两大版本内存分区,分别为: 1. 五大内存分区:堆.栈.全局/静态存储区.自由存储区和常量存储区. 2. 五大内存分区:堆.栈.全局/静态存储区.字符串常量区和代码区. 且不论以上两种分区孰是孰非,孰优孰劣,我认为具体的内存分区和编译器有很大关系,我想不同编译器对内存的划分都不尽相同,但也大同小异. 综合对比,查阅相关资料,提出自己对C/C++程序的内存分区的认识.可划分为四大内存分区:堆.栈.静态存储区和代码区. 堆…
遍历构造器的内存管理 a.遍历构造器方法内部使用autorelease释放对象 b.通过遍历构造器生成的对象.不用释放. 内存的管理总结 1.想占用某个对象的时候,要让它的引用计数器+1(retain操作) 2.当不想再占用某个对象的时候,要让它的引用计数器-1(release操作) 3.谁alloc谁release,遍历构造器使用autorelease 另:当一个属性遵循了协议的时候(该属性就是代理),这时使用内存组的assign修饰. 多态:父类指针 指向 子类对象 没有继承就没有多态 父类…
自动释放池: @autoreleasepool { } 内存管理机制       谁污染,谁治理 垃圾回收机制:gc(Garbage collection),由系统管理内存,开发人员不需要管理. OC从版本2.0之后开始支持垃圾回收机制,但iOS开发平台不支持垃圾回收机制 继承自NSObject的对象需要内存管理 OC中通过引用计数器管理内存 通过引用计数器管理内存的两种方式 1.MRC:(maual reference count),手动引用计数,就是开发人员通过引用计数管理内存 2.ARC:…
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等. 本文将依次介绍上述八大排序算法. 算法一:插入排序 插入排序示意图 插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. 算法步骤: 1)将第一待排序序列第一…
c++map的用法 分类: 资料 2012-11-14 21:26 10573人阅读 评论(0) 收藏 举报 最全的c++map的用法 此文是复制来的0.0 1. map最基本的构造函数: map<string ,int>mapstring; map<int,string >mapint; map<sring,char>mapstring; map< char ,string>mapchar; map<char,int>mapchar; map&…
Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能. 一.Mahout安装.配置 1.下载并解压Mahout http://archive.apache.org/dist/mahout/ tar -zxvf mahout-distribution-0.9.tar.…
一.共享内存简介 共享内存是进程间通信中高效方便的方式之一.共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针,两个进程可以对一块共享内存进行读写. 共享内存并未提供进程同步机制,使用共享内存完成进程间通信时,需要借助互斥量或者信号量来完成进程的同步.这里说一下互斥量与信号量的区别.互斥量用于线程的互斥,信号量用于线程的同步,这是互斥量与信号量的本质区别,其次信号量实现互斥量的功能. 本文结合个人实际项目需求,采用互斥量实现进程间…
//OC: Objective-C, 面向对象的C语言 //OC与C的区别 //1.OC是C的超集, C语言的所有语法都可以在OC中使用 //2.OC是面向对象 //3.OC是一门运行时语言 //4.OC的类库丰富 NSString *string = [[NSObject alloc] init]; //string在编译时是NSString类型, 在运行时是NSObject类型 //面向对象的编程: OOP //面向对象编程的核心: 类与对象 //面向对象的三大特性: 封装, 继承, 多态…
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 [C#小知识]C#中一些易混淆概念总结(二)--------构造函数,this关键字,部分类,枚举 [C#小知识]C#中一些易混淆概念总结(三)--------结构,GC回收,静态成员,静态类 [C#小知识]C#中一些易混淆概念总结(四)---------解析Console.WriteLine() [C#小知识]C#中一些易混淆概念总结(五)---------继承 --------…
目录: [C#小知识]C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用 继上篇对一些C#概念问题进行细节的剖析以后,收获颇多.以前,读书的时候,一句话一掠而过,但是现在再去重读的时候,每句话发现都包含大量的信息.这一篇继续总结自己的学习笔记,给大家深度的剖析一些概念性问题,有助于大家对C#的理解. --------------------------------------------------分割线-------------------------…