1. 计算机系统使用高速缓存来作为内存与处理器之间的缓冲,将运算需要用到的数据复制到缓存中,让计算能快速进行;当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了。缓存一致性:多处理器系统中,因为共享同一主内存,当多个处理器的运算任务都设计到同一块内存区域时,将可能导致各自的缓存...
分类:
编程语言 时间:
2015-09-05 00:05:19
阅读次数:
326
一、概述 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同的数据区域,这些区域都有各自的用途以及创建和销毁的时间。Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示: ...
分类:
编程语言 时间:
2015-09-04 12:56:45
阅读次数:
182
OC数组NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域,一旦初始化,不能通过它对该内存区域的数据进行修改操作,但是它可以读数据。NSMutableArray是动态的是NSArray的子类,可以对所指向的内存区域内容进行更改,并可以增加数组内容NSArray和NSMut...
分类:
编程语言 时间:
2015-09-01 18:29:53
阅读次数:
166
初始化是程序设计中一项重要的操作,又是一项容易被误解和忽略的操作。使用未初始化的变量(或内存区域)是程序产生bug的重要原因之一。正确理解和使用初始化操作,要弄清以下几个问题。1.什么是初始化在给初始化下定义前。先弄清楚两个概念。申明与定义。...
分类:
其他好文 时间:
2015-08-29 20:22:18
阅读次数:
134
在Java中主要存在4块内存空间,这些内存空间的名称及作用如下。1. 栈内存空间: 保存所有对象名称(更准确的说是保存了引用的堆内存空间的地址)。2. 堆内存空间: 保存每个对象的具体属性内容。 堆内存中包含常量池,常量池包括直接常量(基本类型,String)和对其他类型、方法、字段的符号引用3. ...
分类:
编程语言 时间:
2015-08-29 12:37:23
阅读次数:
158
一. strcpy函数原型声明:char *strcpy(char* dest, const char *src);头文件:#include 和 #include 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间说明:src和dest所指内存区域不可以重叠且des....
分类:
其他好文 时间:
2015-08-29 00:33:13
阅读次数:
185
nim语言的引用和其他语言的指针有点相似可以提供一种“多对一”的关系这就意味着不同的引用可以指向同一个内存位置nim区分可被追踪的引用和不可被追踪的引用不可被追踪的引用又称为指针可被追踪的引用可以被垃圾回收器回收不可被追踪的引用指向手动分配的对象,或其他地方创建出来的一块内存区域这也就是说,不可被追...
分类:
其他好文 时间:
2015-08-28 15:14:31
阅读次数:
182
stl中所有容器都是存储在堆中,当stl中存储的是对象的时候,当容器离开作用域,会调用每个对象的析构。当容器中是指针的时候,离开作用域只会释放指针占用的内存,但是指针指向的内存区域不会释放。vector,earse并不会释放vector占用的内存释放vector占用的内存,最好使用swapvecto...
分类:
其他好文 时间:
2015-08-25 16:22:35
阅读次数:
132
OC编译器的特性:在声明成员变量时,编译器会产生一个硬编码的偏移量,它表示变量距离存放该对象的内存区域的起始地址的长度。OC把这个偏移量作为类对象的一个特殊变量,在runtime时期查找,就总可以生成正确的偏移量.@property属性:在没有进行任何手动操作的前提下,这个属性第..
分类:
其他好文 时间:
2015-08-21 23:34:41
阅读次数:
647