Обычно чтение полей в разных объектах даже через методы не имеет никакого значения.Как только ваша нагрузка возрастает в определенной «горячей точке», компилятор горячей точки Java оптимизирует байт-код на лету, чтобы он больше не имел значения.
Это одна из причин, почемуJVM так быстро работает.И это одна из причин, почему люди говорят вам следующее:
- не оптимизируйте микро-код Java для повышения производительности, потому что вы что-то предполагаете.Постарайтесь найти доказательства, прежде всего
- , особенно избегайте самых простых вещей, таких как методы встраивания.Hotspot делает все это уже
- , чем проще и чище ваш код, тем больше компилятор горячей точки Java может помочь вам с производительностью
Если вы заметили проблемы с производительностью, всегда проверяйте проблемы с памятьюпервый.Помимо ошибок в алгоритмах, которые увеличивают сложность во время выполнения ... Наиболее распространенные причины проблем с производительностью (сначала проверьте их):
- Недостаточно места в куче (и связанное с этим: сборка мусора навсегда, высокая загрузка процессоранагрузка).Вы можете проверить это с помощью таких инструментов, как
visualvm
и его плагинов. - Конфликт: проблемы параллелизма с потоками, сражающимися за одни и те же ресурсы.Если у вас нет операций ввода-вывода и простоя процессора, это, вероятно, ваша проблема.Для проверки используйте такие инструменты, как
top
. - Достаточно сконфигурировано памяти, но ваша система выполняет много операций ввода-вывода, либо из-за подкачки (слишком мало физической памяти), либо из-за того, что ваше программное обеспечение ожидает ввода-выводаО.Проверка на ожидание ввода / вывода
Особенно, если у вас много данных, переменных, частиц, как вы говорите, сначала проверьте очевидные вещи: -)
Удачи!