Здравствуйте, tavr, Вы писали:
T>Здравствуйте, sergey123_1, Вы писали:
_>>Если скачивать файлы с помощью java.nio.Files.copy, то в момент скачивания файла, в top-е видно как java поедает процессорное время. Если качать тоже самое обычным wget-ом, то процессорное время потребляется значительно меньше.
_>>_>> Files.copy(urlConnection.getInputStream(), (new File("1.iso")).toPath(), StandardCopyOption.REPLACE_EXISTING);
_>>
T>попробуй обернуть в BufferedInputStream
Скорее всего, также надо обернуть BufferedOutputStream — чтобы уменьшить количество Write операций в файл (писать большими кусками — а не по байтам)/. Гонять байты из натив в манаджед и обратно в натив не дешевые операции. Лучше читать большими кусками читать из in-стрима и писать в out-стрим, или через некий интервал времени.
Если очень хочется избавится от потерь CPU — надо избегать попадание данных в манаджед, а сразу писать нативный стрим в файл — как вариант запуск wget из java приложения.