delphi 精要-读书笔记(内存分配释放)

原创 2006年06月14日 22:05:00

1.内存分为三个区域:全局变量区,栈区,堆区

全局变量区:专门存放全局变量

栈区:分配在栈上的变量可被栈管理器自动释放

堆区:堆上的变量内存必须人工去释放

2.指针类变量

指针类的变量在声明为全局变量时被初始化为空值,在声明为局部变量时则初始化为一个随机数,对于指针类型一般

要使用一些代码来完成内存分配

3.动态分配内存的函数和过程

procedure GetMem(Var P: Pointer; Size: Integer); 

分配大小为Size字节的内存块,并让P指向它

procedure AllocMem(Size: Cardinal):Pointer;

分配大小为Size字节的内存块并始初化为零,并返回地址指针

procedure ReallocMem(Var P: Pointer; Size: Integer);

在途中更改先前用GetMem或者AllocMem分配的内存大小

procedure FreeMem(Var P: Pointer);

使用GetMem和AllocMem分配的内存都应该用FreeMem释放

Procedure New(Var P: Pointer);

用New分配的内存大小由参数P的数据类型确定,因此,不要使用它给无类型指针变量分配内存.

Procedure Dispose(Var P: Pointer);

释放该内存块使用dispose

《Android开发精要》读书笔记——Android的系统架构

按照功能结构和面向人群进行划分 应用部分:包含在Android设备上运行的所有应用,它们是Android系统中直接面向用户的部分。 核心部分:Android系统中核心的功能实现,包括应用框架、核心类...
  • gengzhikui1992
  • gengzhikui1992
  • 2016年02月29日 17:05
  • 1317

delphi 指针的内存分配和释放

给字符指针(PChar、PWideChar、PAnsiChar)分配内存, 最佳选择是: StrAlloc. StrAlloc 虽然最终也是调用了 GetMem, 但 StrAlloc 会在指针前面...
  • kunlun122
  • kunlun122
  • 2013年10月31日 14:53
  • 1175

DELPHI之关于String的内存分配

函数、过程或者方法中定义一个字符串变量时,由于我们知道在函数、过程或者方法中定义的变量为局部变量,它的内存是在栈中分配的,但是这里有个小细节我们要注意,对于一个局部的字符串变量,它的大小为4字节,这个...
  • zhongguoren666
  • zhongguoren666
  • 2014年09月11日 12:37
  • 2574

《深入理解Java虚拟机》读书笔记2--垃圾收集(GC)与内存分配

垃圾收集(Garbage Collection,GC),其实主要需要完成3件事情:哪些内存需要回收?什么时候回收?如何回收?对于程序计数器、虚拟机栈以及本地方法栈,这三块内存区域是线程私有的,伴线程生...
  • ZqShMiLy
  • ZqShMiLy
  • 2017年12月30日 10:32
  • 33

深入理解Java虚拟机 读书笔记——垃圾收集器与内存分配策略

第3章 垃圾收集器与内存分配策略关于Java中的引用类型 强引用(Strong Reference):Object obj = new Object(); 这样的常规引用,只要引用还在,就永远不会回收...
  • huanglong0438
  • huanglong0438
  • 2016年11月10日 16:11
  • 404

深入理解java虚拟机读书笔记-3.6内存分配与回收策略

一、概述 本文属于 《深入理解java虚拟机》读书笔记系列,第3章介绍了垃圾收集器与内存分配策略。其中垃圾收集器与收集算法,可以参照之前整理的文章,本文属于原书3.6部分章节。 Java技术体系中...
  • bohu83
  • bohu83
  • 2016年06月07日 22:42
  • 400

程序员面试笔试宝典——读书笔记2、内存分配、sizeof、指针

二、内存分配 1、内存分配的形式有哪些? 一个C/C++编译的程序所占用的系统内存一般分为以下几个部分的内容: a、有符号起始的区块(BBS, Block Started by Symbol)段...
  • Cowena
  • Cowena
  • 2015年08月27日 15:56
  • 750

读书笔记-->Java内存分配策略初识

作为Java或Android程序员,大多时候我们不需要关系对象在内存中是如何分配,也不用担心对象占用的内存何时被系统回收。如果在开发过程中完全依赖系统帮助我们进行内存管理,那么后果将不堪设想。内存溢出...
  • chan1116
  • chan1116
  • 2016年02月02日 14:29
  • 301

C和指针读书笔记——动态内存分配

1、数组在声明时,它所需要的内存在编译时候就被分配;    数组有其优点与缺点:优点在于是简单,缺点是(1)无法预知长度,数组无法处理程序所需要使用的元素数量超过声明的长度这种情况(2)内存浪费(3...
  • yanghaoran321
  • yanghaoran321
  • 2012年06月11日 19:29
  • 820

stl读书笔记(1)-内存分配

现在主流使用的stl分为很多版本,基本上尊重stl业界统一标准。我们使用的是sgi_stl。侯杰在《stl源码剖析》这本书中说明stl的六大组件: 具体结构我不想细说,主要想说一下空间分配器(al...
  • tongdajiu
  • tongdajiu
  • 2016年10月07日 22:34
  • 144
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:delphi 精要-读书笔记(内存分配释放)
举报原因:
原因补充:

(最多只允许输入30个字)