我想分配一个原始数据类型对象的数组列表,如 int、char 等(不是数组,因为它将来会增长可能不是线性的),但需要存储在 RAM 中的连续内存位置(jvm 托管堆)。但是自从我为 ex 的原始数据类型声明 ArrayList 时。ArrayList 为 int,内部 jvm 映射到 ArrayList<Integer> 类型的对象。
现在的问题是 ArrayList 持有对存储在 jvm 托管内存空间中不同位置的对象的连续引用。但我最初的想法是连续存储实际数据对象而不仅仅是参考!但我不知道如何实现它?
我能想到的一种解决方案是分配大尺寸字节数组,从而创建一个连续的内存缓冲存储!如果在 2000 个预分配字节中存储了 1000 个 int 对象,开发人员需要管理如何在 101 个索引位置获取一些存储在这个手动创建的缓冲区(假设我们建模为 2 个字节/int)中的 int 数据!
复杂数据类型也需要相同的功能。虽然处理复杂对象的连续内存分配可能很困难,因为需要计算结构大小并预分配 (structureSize * No. of Elements Expected) 的字节缓冲区
对于连续分配对象(原始/复杂>),我想不出任何其他有效的方法或解决方案。任何人都可以帮助我吗?