int、char などのプリミティブ データ型オブジェクトの配列リストを割り当てたい (将来的に増加するため配列ではない) が、RAM 内の連続したメモリ位置 (jvm 管理ヒープ) に格納する必要があります。しかし、exのプリミティブデータ型のArrayListを宣言したときから。int の ArrayList。内部的に jvm は ArrayList < Integer > タイプのオブジェクトにマップします。
ここでの問題は、ArrayList が jvm 管理メモリ空間の異なる場所に格納されているオブジェクトへの連続した参照を保持していることです。しかし、私の最初のアイデアは、単なる参照ではなく、実際のデータ オブジェクトを連続的に格納することでした。しかし、私はそれを達成する方法がわかりませんか?
私が考えることができる1つの解決策は、大きなサイズのバイト配列を割り当てて、連続したメモリバッファストアを作成することです! また、開発者は、事前に割り当てられた 2000 バイトに 1000 個の int オブジェクトが格納されている場合、この手動で作成されたバッファー (2 バイト/int としてモデル化する場合) に格納された int データを 101 インデックス位置に取得する方法を管理する必要があります。
複雑なデータ型でも同じ機能が望ましいです。構造体のサイズを計算し、(structureSize * 期待される要素の数) のバイト バッファを事前に割り当てる必要があるため、複雑なオブジェクトの連続したメモリ割り当てを処理するのは難しい場合があります。
オブジェクトの連続した割り当て(プリミティブ/複雑>)に可能な他の効率的な方法や解決策は考えられません。誰か助けてくれますか?