私の目標は、Javaで割り当てられた配列が、隣接する物理メモリ全体に確実に割り当てられるようにすることです。私が遭遇した問題は、本当に大きな配列を割り当てない限り、配列が割り当てられているページが物理メモリ内で連続していない傾向があることです。
私の質問は次のとおりです。
- 本当に大きな配列が物理メモリ内で隣接するページを保証するのはなぜですか?
- アレイを物理メモリ全体に確実に割り当てる方法はありますか?それは、アレイを実際に大きくすることを含みませんか?
- キャッシュヒット/キャッシュミスを測定せずに、Javaオブジェクト/配列が存在するページまたは物理アドレスを確認するにはどうすればよいですか?
なぜJavaでこれを行っているのかを尋ねる答えを探していません。私は、Cが「私の問題を解決する」こと、そしてJavaの基本的な性質に反することを理解しています。それにもかかわらず、私にはこれを行う正当な理由があります。
答えが常に機能することを保証する必要はありません。私はほとんどの場合うまくいく答えを探しています。合理的なJavaプログラマーが書くことのない、独創的ですぐに使える答えのための追加のポイント。プラットフォーム固有(x86 32ビット64ビット)でも問題ありません。