Причиною кешування малих цілих чисел, якщо це те, про що ви запитуєте, є те, що багато алгоритмів використовують маленькі цілі числа у своїх обчисленнях, тому уникати накладних витрат на створення об’єктів для цих значень, як правило, варто.
Тоді виникає питання, які цілі числа кешувати. Знову ж таки, якщо говорити загалом, частота використання постійних значень має тенденцію до зменшення із збільшенням абсолютного значення постійної - кожен витрачає багато часу, використовуючи значення 1 або 2 або 10, порівняно небагато хто використовує значення 109 дуже інтенсивно; менше буде мати продуктивності, залежить від того, наскільки швидко можна отримати ціле число для 722 .. Java вирішила виділити 256 слотів, що охоплюють діапазон значення підписаного байта. Це рішення могло бути проінформоване шляхом аналізу програм, що існували на той час, але настільки ж ймовірно, що воно було суто довільним. Це досить розумний простір для інвестування, до нього можна швидко отримати доступ (маска, щоб з’ясувати, чи перебуває значення в діапазоні кеш-пам’яті, а потім швидке пошук таблиці для доступу до кешу), і це, безумовно, охопить найпоширеніші випадки.
Іншими словами, я думаю, що відповідь на ваше запитання: "це не настільки суб'єктивно, як ви думали, але точні межі - це, в основному, рішення, яке стосується принципу", і експериментальні докази свідчать про те, що воно було досить хорошим. "