Вы говорите о скорости, но static
переменные поможет вам в основном памяти мудрым.
Если вы создаете несколько переменных instante (не static
полей) и мышления изменения к в static
один:
Когда несколько экземпляров класса должны иметь доступ к определенному объекту в переменной локальный для этих экземпляров (переменная экземпляра), лучше сделать эту переменную переменной static
, а не содержать в каждом экземпляре отдельную ссылку. Это уменьшает пространство, взятое каждым объектом (одна меньшая переменная экземпляра), а также может уменьшить количество созданных объектов, если каждый экземпляр создает отдельный объект для заполнения этой переменной экземпляра. (Цитируется по книге Java Performance Tuning.)
Если вы не создаете переменные экземпляра, а просто передавая переменную вперед в параметрах:
С точки зрения производительности, не должно быть никакой разницы. Поскольку все параметры метода в Java передаются по ссылке, это означает, что фактическая переменная не копируется поверх: только этот адрес (указатель - ссылка на переменную) копируется в параметр вызываемого метода.
В любом случае поля static
могут скомпрометировать читаемость вашего кода (это может сделать их намного сложнее в обслуживании). Если вам действительно нужно поведение static
, пожалуйста, подумайте также об использовании шаблона дизайна Singleton.
Нижняя линия:
Кажется мне ваш сценарий: Вы только проездом переменные вместе (ан не имеющий переменный экземпляр).
Советую сохранить его таким образом. Если вы измените его, будет достигнуто почти нулевое (если есть) увеличение производительности с помощью статических полей - с другой стороны, ваш код будет намного сложнее поддерживать/понимать/отлаживать.
Независимо от того, что вы делаете, убедитесь, что вы получили показатели производительности (как синтетические, так и реальные), прежде чем внести изменения, а затем после. В противном случае вы не поймете, помогли ли вам или пострадали. – Jazzepi