Я пишу хеш-таблицу на основе массива в Java, где типом ключа и значения являются Object; другой гарантии нет.
Самый простой способ для меня по кодам - создать объект для их хранения:
public class Pair {
public Object key;
public Object value;
}
А затем создать массив
public Pair[] storage = new Pair[8];
Но как jvm относится к этому в памяти? То есть будет ли массив на самом деле:
- будет массивом указателей на объекты Pair (), находящиеся в другом месте, или
- содержит фактические данные?
1020 * редактировать *
Поскольку объекты создаются позже как new Pair (), они случайным образом помещаются в кучу. Есть ли хороший способ убедиться, что они последовательно в куче? Должен ли я сделать какую-то хитрость с sun.misc.unsafe, чтобы сделать эту работу?
Объясняя свою мотивацию, если я хочу попробовать и убедиться, что последовательные элементы находятся на одной странице памяти, есть ли способ сделать это в Java?