Я создаю приложение для загрузки данных на сервер.Данные будут довольно огромными, до 60-70 Гб.Я использую Java, так как мне нужно, чтобы он работал в любом браузере.
Мой подход примерно такой:
InputStream s = new FileInputStream(file);
byte[] chunk = new byte[20000000];
s.read(chunk);
s.close();
client.postToServer(chunk);
На данный момент он использует большой объем памяти, постоянно поднимается коколо 1 ГБ, и когда сборщик мусора попадает, это ОЧЕНЬ очевидно, 5–6-секундный разрыв между блоками.
Есть ли способ улучшить производительность и сохранить объем памяти на достойном уровне?
РЕДАКТИРОВАТЬ:
Это не мой настоящий код.Есть много других вещей, которые я делаю, например, вычисление CRC, проверка по возвращаемому значению InputStream.read и т. Д.