Идея Java заключалась в том, что «Пиши один раз, беги куда угодно» без перекомпиляции. Это означает, что каждая виртуальная машина имеет одинаковый размер данных. Конечно, на 64-битных машинах он использует 64-битные ссылки, но у вас нет доступа к ним, поэтому это не имеет значения.
Это работает довольно хорошо, но я бы хотел, чтобы мы могли получить 64-битные индексы массивов. Это на самом деле не имело значения в те времена, но для больших файлов с отображенной памятью это огромная боль. Вы должны разбить их на куски по 2 ГБ.