Эта лекция о том, что такое «узкое место» в вводе-выводе и как его обнаруживать и устранять. Разберём, почему операции диска и сети значительно медленнее RAM, какие анти‑паттерны часто встречаются (чтение по одному байту через
read(), синхронные логи и др.), как помогают буферы (
BufferedInputStream,
BufferedReader), профилировщики (
VisualVM,
JProfiler) и замеры времени через
System.
currentTimeMillis
(). Проведём практический эксперимент с чтением файла
"bigfile.txt", сравним скорость с буфером и без, посмотрим на влияние SSD/HDD и сети и перечислим типичные ошибки.