U prethodnom članku upoznali smo se sa razlikom između NIO-a i tradicionalnog IO-a; u ovom članku upoznaćemo se sa razlikom između BIO, NIO i AIO. Početnici se u to lako zapetljaju, pa ćemo pristupiti na drugačiji način — izložićemo to tako kao da to objašnjavamo devojci 👂.
6 minuta
Da ponovo podsetimo na razliku između IO i NIO:
- Može se jednostavno reći: IO je orijentisan na tokove, NIO je orijentisan na blokove (bafer)
- IO sistem orijentisan na tokove obrađuje podatke jedan bajt ujednom.
- IO sistem orijentisan na blokove (bafer) obrađuje podatke u obliku blokova.
11 minuta
Java IO deli se u dve velike kategorije: s jedne strane tradicionalni IO (Blocking IO), a s druge strane NIO (New IO).
8 minuta
Ranije smo koristili Java sokete Socket i ServerSocket za mrežno programiranje, ali Socket i ServerSocket se zasnivaju na Java IO, pa u mrežnom programiranju imaju lošije performanse. Razlog smo već objasnili ranije.
11 minuta
Proveo sam nekoliko dana učeći osnove NIO-a. Tokom tog vremena pregledao sam NIO module u knjigama Thinking in Java i Crazy Java Lectures. Ali, i nakon čitanja sam i dalje bio prilično zbunjen — nisam tačno znao čemu NIO služi; gradivo na internetu i ono u knjigama se nisu dobro poklapali.
8 minuta
