Java平台通过垃圾回收器(GC)进行自动的内存管理,主要负责完成3个任务:分配内存、确保被引用对象的内存不被错误回收,以及回收不再被引用对象的内存空间。一般情况下,当垃圾回收器在进行回收操作时,整个应用的执行暂时中止。因为垃圾回收器要更新应用中所有对象引用的实际内存地址。不同硬件平台所支持的垃圾回收方式也不同。
垃圾回收机制最基本做法是分代回收。内存被划分成不同的世代(年轻、年老、永久...
分类:
编程语言 时间:
2014-11-16 20:13:27
阅读次数:
174
字符串的常用方法1,字符串的语法定义:string strName;strName = value;或者是string name = value ;这两种定义方式是等价的。字符串是引用类型,在定义 string strName的时候在栈空间中,定义了一个strName的空间,该空间存放一个内存地址;...
分类:
其他好文 时间:
2014-11-15 18:20:44
阅读次数:
183
1.什么是Union类型数据 联合(Union)是一种特殊的类,一个联合中的数据成员在内存中的存储是互相重叠的。每个数据成员都在相同的内存地址开始。 分配给联合的存储区数量是“要包含它最大的数据成员”所需的内存数。同一时刻只有一个成员可以被赋给一个值。C++中表达Union类型数据union Tok...
1. 内存地址
以Intel的中央处理器为例,Linux 32位的系统中,物理内存的基本单位是字节(Byte),1个字节有8个二进制位。每个内存地址指向一个字节,内存地址加1后得到下一个字节的地址。这里用以表示物理内存实际位置的地址,就是通常所说的物理地址(Physical Address)。CPU正在执行的进程代码、进程数据和栈区数据等,都临时保存在物理内存中。
线性地址(Linear Ad...
分类:
系统相关 时间:
2014-11-12 16:31:01
阅读次数:
272
内存寻址由大到小,优先分配内存地址比较大的字节给变量;变量越先定义,内存地址就越大;取得变量的地址:&变量名;输出地址:%p;一个变量一定先进行初始化,才能使用。 scanf函数只接受变量的地址,scanf函数是一个阻塞式的函数,等待用户输入,用户输入完毕后,就会将用户输入的值赋值给对应的变量...
分类:
移动开发 时间:
2014-11-12 13:29:55
阅读次数:
178
C语言的scanf函数一、变量的内存分析(一)字节与地址①.内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节。整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间就相当于是每个字节,地址就是房号,根据房号可以找到房间(根据地址也可以找到内存中的字节)。相邻房间的房号是连...
分类:
编程语言 时间:
2014-11-12 13:13:52
阅读次数:
168
C++中可以直接打印对象指针,打印的就是该指针指向的虚拟内存地址,Java中通过打印对象可以输出对象的虚拟内存地址,OC中同样可以通过打印对象指针来输出对象的虚拟内存地址,也提供了description方法来控制打印的内容,子类重写父类的description方法即可实现任意的打印效果,用法同Java中重写toString()方法几乎完全一样。
//
// Goods.h
// 04_Des...
分类:
其他好文 时间:
2014-11-09 15:22:29
阅读次数:
168
指针存储的是内存地址,引用是内存的别名。 指针传递参数的本质是值传递,引用的任何操作都处理成间接寻址 ★相同点: ●都是地址的概念; 指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。 ★不同点: ●指针是一个实体,而引用仅是个别名; ●引用只能在定义时被初始化一次,之后不可变;...
分类:
其他好文 时间:
2014-11-09 15:04:43
阅读次数:
142
在内存管理中存在这两类算法:一类是内存分配算法,一类是页面置换算法内存分配算法:是指怎么从连续的逻辑地址空间上分配内存地址给进程。常见内存分配算法及优缺点如下: (1)首次适应算法。使用该算法进行内存分配时,从空闲分区链首开始查找,直至找到一个能满足其大小要求的空闲分区为止。然后再按照作业的大小,....
分类:
编程语言 时间:
2014-11-08 22:04:20
阅读次数:
408
c#(java)中,参数传递都是传递的参数本身的值,对于值类型,传递的是值本身。 对于引用类型,定义引用类型变量的时候,一个是在栈中的变量,存储的是一个指针,指向在堆中分配的对象实例的地址,当然,如果对象没有实例化,给null值的时候例外。传递引用类型变量的时候,传递的也是值, 但它的值是内存地址,...