Я хочу выделить массив объектов примитивных типов данных, таких как int, char и т. Д. (Не массив, потому что он будет расти в будущем, может быть не линейно), но должен храниться в последовательных местах памяти в ОЗУ (управляемая куча jvm). Но с тех пор, как я объявил ArrayList для примитивного типа данных, например. ArrayList для int, внутренне jvm сопоставляется с типом объектов ArrayList ‹Integer>.
Теперь проблема в том, что ArrayList содержит последовательные ссылки на объекты, хранящиеся в разных местах в управляемом пространстве памяти jvm. Но моя первоначальная идея заключалась в том, чтобы иметь последовательное хранение реальных объектов данных, а НЕ ТОЛЬКО ССЫЛКИ! Но я не знаю, как этого добиться?
Одно из решений, которое я могу придумать, - это выделение байтового массива большого размера, тем самым создавая последовательное буферное хранилище памяти! И разработчик должен управлять тем, как получить некоторые данные int, хранящиеся в этом вручную созданном буфере (допустим, если мы моделируем как 2 байта / целое число) в 101 месте индекса, если в 2000 заранее выделенных байтах хранится 1000 объектов int!
Такая же функция желательна и для сложных типов данных. Хотя это может быть сложно при последовательном распределении памяти для сложных объектов, поскольку необходимо рассчитать размер структуры и предварительно выделить байтовый буфер (размер структуры * Ожидаемое количество элементов)
Я не могу придумать какой-либо другой эффективный способ или решение, возможное для последовательного размещения объектов (примитивных / сложных>. Кто-нибудь может мне помочь?