Вопрос о производительности

Версия Minecraft
1.9.4
1,560
86
204
Что будет производительнее?
1.
Код:
public static Block block;

public void init() {
    block = new Block()...;
    GameRegistry.registerBlock(block);
}
2.
Код:
public static Block block = new Block()...;

public void init() {
    GameRegistry.registerBlock(block);
}
3.
Код:
public static Block block = GameRegistry.registerBlock(new Block()...);
 
7,099
324
1,509
с 1.8+ не работал еще, на 1.7.10 их нету
 
4,045
63
645
Подниму, пожалуй, тему о производительности...
Подскажите пожалуйста, есть ли разница в следующий вариантах написания кода?
1:
Код:
EnumFacing face = state.getValue(DIR);
 if (face == EnumFacing.UP) {...}
 if (face == EnumFacing.DOWN) {...}
...
 if (face == EnumFacing.NORTH) {...}
2:
Код:
if (state.getValue(DIR) == EnumFacing.UP) {...}
if (state.getValue(DIR) == EnumFacing.DOWN) {...}
...
if (state.getValue(DIR) == EnumFacing.NORTH) {...}
Естественно, вопрос в том, что из этого будет быстрее считаться?
Стараюсь писать код по 1-му варианту, но не всегда это удаётся, ибо много чего нужно разносить в разные методы.
 
4,045
63
645
Тогда, допустим, есть следующая ситуация: в двух различных методах присутствуют идентичные проверки. В обоих методах так или иначе узнаются некоторые необходимые для этих проверок переменные. Имеет ли смысл выносить идентичные проверки в отдельный метод, если при этом добывать описанные выше переменные придётся повторно? Или лучше продублировать код проверки в данных методах, но зато переменные в каждом из них будут узнаваться только один раз?
Надеюсь, вы меня поняли )
 
7,099
324
1,509
переменные, которые получаются много раз, выноси за пределы метода и передавай в аргументах
 
Сверху