1.一种程序运行方法,其特征在于,包括:
根据所述程序管理的预设对象数量,确定指针长度;
从所述程序申请到的连续内存空间中划分出用于分配给对象的第一内存块;
根据所述连续内存空间中已划分出的且位于所述第一内存块之前的第二内存块数量,为所述对象生成所述指针长度的对象指针;所述第二内存块用于分配给其他对象;所述第一内存块以及每一个所述第二内存块的大小均为预设对象大小;所述连续内存空间中已划分出的任意两个相邻的内存块地址连续;
当需要访问所述对象时,根据所述连续内存空间的起始地址、所述预设对象大小以及所述对象指针,获得所述对象的内存地址,以便对所述对象进行访问。
2.根据权利要求1所述的方法,其特征在于,根据所述连续内存空间的起始地址、所述预设对象大小以及所述对象指针,获得所述对象的内存地址,包括:
根据所述对象指针,确定所述连续内存空间中已划分出的且位于所述第一内存块之前的第二内存块数量;
根据所述第二内存块数量以及所述预设对象大小,确定所述对象在所述连续内存空间中的地址偏移量;
根据所述地址偏移量以及所述连续内存空间的起始地址,获得所述对象的内存地址。
3.根据权利要求2所述的方法,其特征在于,还包括:
当所述对象的对象指针被删除后需要恢复时,根据所述对象的内存地址、所述连续内存空间的起始地址以及所述预设对象大小,生成所述对象的对象指针。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述对象指针中除最高比特位以外的比特位用于表示所述第二内存块数量;
上述方法,还包括:
定义空指针;其中,所述空指针中最高比特位与所述对象指针中最高比特位的值不同。
5.根据权利要求4所述的方法,其特征在于,所述对象指针中最高比特位的值为非零;所述空指针中最高比特位的值为零。
6.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
判断当前所述连续内存空间中是否存在已划分出的且暂未使用的空闲内存块;
当不存在空闲内存块时,执行所述从所述程序申请到的连续内存空间中划分出用于分配给对象的第一内存块的步骤。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一内存块与所述第二内存块的内存地址按照指定字节对齐。
8.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
根据所述程序管理的预设对象数量以及所述预设对象大小,确定需申请的总内存大小;
向操作系统申请大小为所述总内存大小的所述连续内存空间。
9.一种程序运行装置,其特征在于,包括:
确定模块,用于根据所述程序管理的预设对象数量,确定指针长度;
划分模块,用于从所述程序申请到的连续内存空间中划分出用于分配给对象的第一内存块;
指针生成模块,用于根据所述连续内存空间中已划分出的且位于所述第一内存块之前的第二内存块数量,为所述对象生成所述指针长度的对象指针;所述第二内存块用于分配给其他对象;所述第一内存块以及每一个所述第二内存块的大小均为预设对象大小;所述连续内存空间中已划分出的任意两个相邻的内存块地址连续;
获取模块,用于当需要访问所述对象时,根据所述连续内存空间的起始地址、所述预设对象大小以及所述对象指针,获得所述对象的内存地址,以便对所述对象进行访问。
10.一种电子设备,其特征在于,包括:存储器和处理器,其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
根据所述程序管理的预设对象数量,确定指针长度;
从所述程序申请到的连续内存空间中划分出用于分配给对象的第一内存块;
根据所述连续内存空间中已划分出的且位于所述第一内存块之前的第二内存块数量,为所述对象生成所述指针长度的对象指针;所述第二内存块用于分配给其他对象;所述第一内存块以及每一个所述第二内存块的大小均为预设对象大小;所述连续内存空间中已划分出的任意两个相邻的内存块地址连续;
当需要访问所述对象时,根据所述连续内存空间的起始地址、所述预设对象大小以及所述对象指针,获得所述对象的内存地址,以便对所述对象进行访问。