@olexandr7

Нужно ли оптимизировать переменные в JAVA, и когда?

Например, если нам надо получить текущий год, мы используем calendar.get(Calendar.YEAR);

который возвращает число в типе int. Но ясно, что для года хватит и short типа. Тогда можно привести результат в short, в новую переменную short, или же оставить int, и, соответственно, завести переменную int. Какой путь правильный?
  • Вопрос задан
  • 2202 просмотра
Решения вопроса 2
vlad20012
@vlad20012
Хотел сначала написать это как комментарий к предыдущему ответу, но решил, что этот ответ все-таки не до конца верен. Тут человек спрашивает скорее "зачем нужны типы byte и short, если есть int", а не "когда нужно оптимизировать". На вопрос "когда нужно оптимизировать" ответ, безусловно, правильный.

Типы с разрядностью, меньшей чем у int, нужно использовать только с точки зрения экономии памяти, например, в больших массивах или классах с большим количеством полей. Использовать их в качестве локальных переменных не имеет смысла, т.к. процессор в любом случае оперирует типами размером с машинное слово (а Java на 16-битных машинах не работает, так ведь?). Т.е. об оптимизации вообще речи не идет, разницы нет, и в качестве локальных переменных типы byte и short, в принципе, появляться не должны. А вот если у тебя массив из over9000 элементов, в качестве элементов которого пойдет и short, то int использовать не стоит.
Ответ написан
alexclear
@alexclear
A cat
Оптимизировать что угодно где угодно нужно после того, как профайлер покажет узкое место.
Хороший профайлер для Java называется YourKit и выдается на 30 дней бесплатно.
Если каждый раз регистрировать новый email, эти 30 дней превращаются в вечность - рекомендую!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы