BIO is a traditional java.io package. It is implemented based on the stream model. The interaction method is synchronous and blocking.
NIO is the java.nio package introduced in Java 1.4. It provides new abstractions such as Channel, Selector, Buffer, etc. It can build multiplexed, synchronous non-blocking IO programs
NIO, also called Non-Blocking IO, is a synchronous non-blocking IO model. NIO in Java means new IO.
AIO is a package introduced after Java 1.7. It is an upgraded version of NIO. It provides an asynchronous non-blocking IO operation mode, so people call it AIO (Asynchronous IO).