Questa lezione spiega che cos’è un «collo di bottiglia» nell’input/output e come individuarlo ed eliminarlo. Vedremo perché le operazioni su disco e rete sono significativamente più lente della RAM, quali anti‑pattern si incontrano spesso (lettura di un byte alla volta tramite
read(), log sincroni ecc.), come aiutano i buffer (
BufferedInputStream,
BufferedReader), i profiler (
VisualVM,
JProfiler) e le misurazioni del tempo tramite
System.
currentTimeMillis
(). Faremo un esperimento pratico con la lettura del file
"bigfile.txt", confronteremo la velocità con e senza buffer, vedremo l’impatto di SSD/HDD e della rete ed elencheremo gli errori tipici.