2014-09-24 3 views
-1

Я делаю модник minecraft, и я не знаю, какой из них более рекомендуется.Какой из них более эффективен с точки зрения памяти?

Block[] blocks = new Block[] {BlueBlock, MeatBlock, ....}; 
for (Block bls : blocks) 
    GameRegistry.registerBlock(bls, bls.getUnlocalizedName().substring(5)); 

или

GameRegistry.registerBlock(BlueBlock, "BlueBlock"); 
GameRegistry.registerBlock(MeatBlock, "MeatBlock"); 
GameRegistry.registerBlock(..., "..."); 
+0

Спасибо за ответы! Я просто понял, что у java есть GC ... –

ответ

1

Второй будет делать меньше вычислений, и первый более автоматизация, что лучше для лени. С точки зрения памяти он не должен сильно меняться, только блоки будут хранить некоторые данные и впоследствии должны быть уничтожены (сборщик мусора, если это так). В любом случае это очень маленькая разница. Но если обрабатывать тысячи из них, то второй будет немного быстрее, но больно писать.

2

Последний более эффективен. Первый создает массив, затем выполняет итерацию через массив и регистрирует в нем материал, в то время как второй просто регистрирует все, хотя производительность будет почти незаметной, поскольку это происходит во время этапа загрузки Forge .