Esta aula é sobre o que é um “gargalo” em entrada e saída e como detectá-lo e eliminá-lo. Vamos analisar por que operações de disco e rede são significativamente mais lentas do que a RAM, quais antipadrões aparecem com frequência (leitura byte a byte via
read(), logs síncronos etc.), como os buffers ajudam (
BufferedInputStream,
BufferedReader), os profilers (
VisualVM,
JProfiler) e medições de tempo via
System.
currentTimeMillis
(). Faremos um experimento prático lendo o arquivo
"bigfile.txt", compararemos a velocidade com e sem buffer, veremos o impacto de SSD/HDD e da rede e listaremos erros típicos.