Коли ви пишете щось, що створює багато (1000) дрібних об'єктів, ви повинні намагатися мінімізувати це для продуктивності? Особливо, якщо ви не знаєте, на якій системі вона буде працювати, від настільних комп'ютерів низького до високого рівня або навіть мобільних. Для мобільних пристроїв я почув, що створення багатьох об'єктів гальмує продуктивність, хоча я не знаю, наскільки це правда.
У мене є приклад, який добре показує цю ідею. У графічній програмі, скажімо, існує метод, який використовується для всього малювання, яке ідеально називається drawPixel(Point)
. Тут може бути створено 1000 тисяч очок, і це може повторюватися часто, як у грі, де його можна було б викликати 60+ разів на секунду. Крім того, drawPixel(int x, int y)
можна використовувати для мінімізації створення багатьох об'єктів Point.
В об'єктно-орієнтованому дизайні, я думаю, було б краще використовувати Point. Однак використання примітивних типів може підвищити продуктивність. Збільшення продуктивності в більшості випадків може бути незначним, але я не впевнений у таких речах, як мобільні та старі машини. Який приріст від виконання подібних дій і чи варто це враховувати?
System.getProperty("java.version")
(або "java.vm.version") є відправною точкою.