Экспериментируйте, пока не найдете подходящий размер.Самый большой массив, который вы можете выделить в куче, не обязательно является самым быстрым способом сделать это.Во многих случаях вся куча не помещается в оперативной памяти компьютера и может быть выгружена по частям.Тот факт, что вы можете выделить огромный массив, не означает, что он будет лучшим размером для оптимизации скорости.
Возможно, лучше подойдет некоторый адаптивный подход (тестирование количества отсортированных элементов / секунду в зависимости от размера массива) и корректировка.за то, что вы можете уместить, не получая OutOfMemoryError.
Проще: придерживайтесь большого значения, которое хорошо работает, но не обязательно является самым большим, которое вы можете использовать.
Или: используйте внешнюю библиотеку / базу данных, чтобы делать то, что вы хотите - работать с огромными объемами данных сложно в целом, и вы, вероятно, получите лучшую производительность и более короткое время разработки, если вы этого не сделаетезаново изобрести колесо.