Иногда этот код печатает отрицательное число, например -64.Значение в килобайтах.
Что может случиться?
long memoriaInicial = Runtime.getRuntime().freeMemory() / 1024; sort(vector); System.Out.Println(memoriaInicial - Runtime.getRuntime().freeMemory()/1024);
Это означает, что после сортировки сборщик мусора, вероятно, освободил больше памяти, и у вас больше, чем вы начали.