PHP对象类型在内存中的分配
来源:互联网 发布:erp系统是什么软件 编辑:程序博客网 时间:2024/05/22 05:21
对象类型和整型、字符串等类型一样,也是PHP中的一种数据类型。都是在程序中用于存储不同类型数据使用的,在程序运行时它的每部分内容都要先加载到内存中再被使用。那么对象类型的数据在内存中是如何分配的呢?先来了解一下内存结构。逻辑上内存大体被分为四段,分别为栈空间段、堆空间段、初始化数据段和代码段,程序中不同类型数据的声明将会被存在不同的内存段里面。每段内存的特点如下。
①.栈空间段
栈的特点是空间小但被CPU访问的速度快,是用户存放程序中临时创建的变量。由于栈的后进先出特点,所以栈特别方便用来保存和恢复调用现场。从这个意义上讲,我们可以把堆栈看成一个临时数据寄存、交换的内存区。用于存储占用空间长度不变并且占用空间小的数据类型的内存段,例如整型1、100、10000等在内存中占用空间是等长的,占用空间都是32位的4个字节。还有double、boolean等都可以存储在栈空间段中。
②.堆空间段
堆是用于存放进程运行中被动态分配的内存段,它大小并不固定,可动态扩张或缩减。用于存储数据长度可变或占用内存比较大的数据。例如,字符串、数组和对象就存储在这段内存中。
③.数据段
数据段用来存放可执行文件中初始化全局变量,换句话说就是存放程序静态分配的变量。
④.代码段
代码段是用来存放可执行文件的操作指令,也就是说它是可执行程序在内存中的镜像。代码段需要防止在运行时被非法修改,所以只准许读取操作,而不允许写入(修改)操作。例如程序中的函数就存储在这段内存中。
对象类型的数据就是一种占用空间比较大的数据类型,并且是占用的空间不定长的数据类型,所以对象创建完成以后被存放在对内存中,但对象的引用还是存放在栈里面的。程序在运行时,占内存中的数据是可以直接存取的,而堆内存是不可以直接存取的内存,但可以通过对象的引用名称访问对象中的成员。
- PHP对象类型在内存中的分配
- PHP对象类型在内存中的分配
- PHP对象类型在内存中的分配
- PHP对象类型在内存中的分配
- PHP对象类型在内存中的分配
- PHP面向对象1.2对象类型在内存中的分配
- PHP对象在内存中的分配
- PHP对象在内存中的分配
- PHP对象在内存中的分配
- php对象在内存中的分配
- PHP对象在内存中的分配
- PHP对象在内存中的分配
- PHP对象在内存中的分配
- 对象在内存中的分配
- javascript-对象在内存中的分配
- java对象在内存中的分配
- 构造方法与析构方法、对象类型在内存中的分配
- PHP对象在内存中的分派
- 利用InputStream和OutputStream流完成文件的断点续传,(原理)
- 数字字符串与数字相互转化-atoi函数和itoa函数的实现
- Swift学习笔记12——下标(Subscripts)
- 面向对象
- ACM_并查集
- PHP对象类型在内存中的分配
- 《深入理解Linux网络技术内幕》阅读笔记(十四)
- Android configuration使用 为什么监听事件onConfigurationChanged没有反应
- Sublime Text 3 的安装及注册
- leetcode Course Schedule
- Android Fragment 拦截 Back事件
- JSONP vs Ajax
- sicily 1036. Crypto Columns
- 常用网络判断