Накладные расходы против скорости кода (массив java.io.File против массива java.lang.String)

просто пытаюсь разобраться с небольшой делиммой, которая у меня здесь.

В настоящее время я работаю над приложением, которое включает сбор списка файлов в памяти, быть удаленным. В этот момент я подумал, что массив java.io.File, возможно, займет слишком много памяти, так как список файлов в этом контексте может состоять из сотен возможных записей.

Вместо того, чтобы есть чрезмерное количество памяти со списком файловых объектов, я решил, что сбор списка имен файлов и сохранение их в виде java.lang.String будет дешевле для памяти. Теперь вот моя проблема: имея в виду, что эти файлы должны быть удалены, что из них будет дешевле:

  1. Сохранение массива объектов File, а не объектов String, и вызов .delete (); на каждом из них в цикле (используется слишком много памяти).
  2. Сохранение массива объектов String с именами файлов, но для каждой итерации цикла создавать новый объект File, используя список имен файлов, и вызывать .delete ( ); в этом файле (что означает, что каждый раз, когда цикл повторяется, создается и уничтожается новый объект File - возможно, используется слишком большая мощность процессора).

Я хочу сделать программу как можно быстрее, поэтому любой подход имеет свои достоинства, и я просто хочу увидеть, у какого из них меньше всего накладных расходов. Заранее благодарим!

6
задан wpreston 10 May 2011 в 15:42
поделиться