Я заметил, что всегда использую int и double, независимо от того, насколько маленьким или большим должно быть число. Итак, в java более эффективно использовать byte
или short
вместо int
и float
вместо double
?
Итак, предположим, у меня есть программа с множеством целых и двойных чисел. Стоит ли перебирать и изменять мои целые числа на байты или короткие, если бы я знал, что число подойдет?
Я знаю, что в Java нет беззнаковых типов, но могу ли я что-нибудь сделать, если бы знал, что число будет только положительным?
Под эффективным я в основном имею в виду обработку. Я бы предположил, что сборщик мусора был бы намного быстрее, если бы все переменные были половинными, и эти вычисления, вероятно, тоже были бы немного быстрее. (Думаю, поскольку я работаю над Android, мне тоже нужно немного побеспокоиться о баране)
(Я бы предположил, что сборщик мусора работает только с объектами, а не с примитивами, но все же удаляет все примитивы в заброшенных объектах, верно?)
Я попробовал это с небольшим приложением для Android, которое у меня есть, но вообще не заметил разницы. (Хотя я ничего «научно» не измерял.)
Я ошибаюсь, полагая, что это должно быть быстрее и эффективнее? Я бы не хотел пройти через все и изменить все в масштабной программе, чтобы узнать, что я зря потратил свое время.
Стоит ли делать это с самого начала, когда я начинаю новый проект? (Я имею в виду, я думаю, что каждая мелочь могла бы помочь, но опять же, если так, то почему кажется, что никто не делает это.)