OC内存管理一、基本原理(一)为什么要进行内存管理。由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等。管理范围:任何继承NSObject的对象,对其他的基...
                            
                            
                                分类:
其他好文   时间:
2014-05-05 23:05:37   
                                阅读次数:
503
                             
                    
                        
                            
                            
                                编程语言更迭至今,几乎没有人没有用过一门不用垃圾回收的语言,一方面因为C之类的语言内存管理较为困难,更重要的是因为语言越高级,越注重实际的业务逻辑,而关于内存管理的代码频繁夹杂在业务中,并不那么自然。### 
没有垃圾回收的编程体验	#include #include struct node {	.....
                            
                            
                                分类:
其他好文   时间:
2014-05-05 21:49:59   
                                阅读次数:
329
                             
                    
                        
                            
                            
                                最近都是ARC写代码,弄了一下午整理了一下MRC的使用,原创哦!~!~~1 
任何继承NSObject的对象,都需要管理内存2 基本数据类型放到栈中,对象放到堆空间中3 oc对象 nil指针 release 不报错4 僵尸对象检测 
stop右-》Edit Scheme-》Diagncatics-》 ....
                            
                            
                                分类:
其他好文   时间:
2014-05-04 10:44:48   
                                阅读次数:
434
                             
                    
                        
                            
                            
                                Linux中的每个进程都有自己的虚拟地址空间。操作系统的一个最重要的基本管理目的就是避免进程之间的相互影响。下面将介绍虚拟地址空间。
1.虚拟地址空间的优势:
通过虚拟地址访问内存有以下优势:
程序可以使用一系列相邻的虚拟地址来访问物理内存中不相邻的大内存缓冲区。
程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。当物理内存的供应量变小时,内存管理器...
                            
                            
                                分类:
其他好文   时间:
2014-05-04 08:53:13   
                                阅读次数:
418
                             
                    
                        
                            
                            
                                Erlang核心开发者Lukas Larsson在2014年3月份Erlang 
Factory上一个演讲的听写稿,详细介绍了Erlang内存体系的原理以及调优案例。
                            
                            
                                分类:
其他好文   时间:
2014-05-03 23:40:47   
                                阅读次数:
383
                             
                    
                        
                            
                            
                                上一节讲述了在没有MMU的CPU(如80251、MIPS M控制器系列、ARM cortex m系列)上实现虚拟内存管理的集成硬件设计方法,新设计的内存管理管理单元要实现虚拟内存管理还需要操作系统、代码分块(Bank)的支持。Bank设计是为了实现不同时刻运行的Bank(代码块)运行在同一块内存上,所以在运行之前操作系统需要将已存在内存的代码/数据进行缓存处理,并加载将要运行的Bank到该内存上。为了实现这个目的,需要明确几个设计原则。...
                            
                            
                                分类:
其他好文   时间:
2014-05-03 21:06:44   
                                阅读次数:
356
                             
                    
                        
                            
                            
                                既然这样,段描述符表放在那里呢?80386中引入了两个新的寄存器来管理描述符表。一个是48位的全局描述符表寄存器GDTR,一个是16位的局部描述符表寄存器LDTR。那么,为什么有两个描述符表寄存器呢?
GDTR指向的描述符表为全局描述符表GDT。它包含操作系统中所有任务都可用的段描述符,通常包含描述操作系统所使用的代码段、数据段、堆栈段的描述符及各任务的LDT段等,全局描述符表只有一个。
LD...
                            
                            
                                分类:
其他好文   时间:
2014-05-03 21:03:23   
                                阅读次数:
363
                             
                    
                        
                            
                            
                                一直有看linux内核的冲动,内核有些部分是汇编编写的,无奈汇编不大懂,所以利用五一三天假期大概走了一边8086CPU架构的汇编,8086CPU还是16位的,我们现在都进入64位时代了,这两者之间有很大的区别,但是看看16位的CPU汇编还是很重要的,这有助于理解32位的80386CPU。这篇文章来分析下80386的内存管理的一些基础知识,包括实模式、保护模式和内存寻址等等。
1.实模式...
                            
                            
                                分类:
其他好文   时间:
2014-05-03 20:50:08   
                                阅读次数:
410
                             
                    
                        
                            
                            
                                1、什么是好的代码?
从工作角度上看,我觉得就是能用的代码,适用的代码,通用的代码。比如来说,一段的代码把功能实现了,这个是能用的代码。但是呢,代码可能中间还是有一些偏差,比如界面上数据显示很粗糙,运行速度不够快。所以写完能用的代码后,我们会再修改,修改,显示数据优化下,优化线程,优化内存管理。好的,再看一看,功能看起来还不错,心满意足了,这个是适用的代码。某一天我们把这个程序搬到另一个平台上面...
                            
                            
                                分类:
其他好文   时间:
2014-05-03 17:24:01   
                                阅读次数:
331
                             
                    
                        
                            
                            
                                操作系统基本分段存储管理方式
引入分段存储管理方式的目的:满足程序员在编程和使用上多方面的要求。这种存储管理方式已经成为当今所有存储管理方式的基础。
1、分段存储管理方式的引入
主要满足用户和程序员以下需求:
1)、方便编程
用户把自己的作业按照逻辑管理划分为若干段,每个段都是从0开始编址,并有自己的名字和长度。因此,希望要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。...
                            
                            
                                分类:
其他好文   时间:
2014-05-03 16:33:18   
                                阅读次数:
281