Мне было любопытно, как определяется размер буфера класса BufferedInputStream для каждой программы. Я узнал в STACKOVERFLOW, что размер буфера по умолчанию - 8 КБ.Значение размера буфера по умолчанию (8KB) в 'BufferedInputStream'? (JAVA)
Интересно, имеет ли смысл размер буфера по умолчанию класс «BufferInputStream», размер которого составляет 8 КБ.
Когда я искал java-документы для получения информации о классе «BufferedInputStream», Я узнал, что для класса существуют две формы конструкторов. Одна форма конструктора предлагает пользователям возможность изменять размер буфера.
BufferedInputStream (InputStream в, Int размер)
- Может размер буфера этого класса иметь решающее значение при принятии решения о производительности некоторых программ? Мне любопытно, если кто-либо использует вышеуказанную форму конструктора, чтобы изменить размер буфера, чтобы он соответствовал/оптимизировал его/ее программу.
- Есть ли какой-либо глубокий смысл для размера буфера по умолчанию 8 КБ?
Благодарим за понимание.
есть _profound смысл_ в 8KB: 4KB является по умолчанию и рекомендуется размер блока для NTFS, он также по умолчанию с Linux. 8 КБ - вдвое больше. вам лучше выбрать кратное размеру вашего блока, чтобы быть эффективным. – destan