1. Blocking, Non-Blocking, and Asynchronous Java I/Ohistorical

    Comparing blocking streams, selector-based non-blocking channels, and asynchronous completion APIs without oversimplifying their OS mappings.

  2. Multithreaded Blocking I/O Serverhistorical

    A thread-per-connection blocking server, its simplicity, and the need for bounded resources and modern virtual-thread context.

  3. Java Asynchronous I/Ohistorical

    Java asynchronous channel APIs, completion handlers/futures, and the distinction between API-level asynchrony and OS implementation details.

  4. Blocking I/O (BIO)historical

    Java blocking I/O semantics and when a simple blocking programming model remains appropriate.

  5. NIO Bufferhistorical

    ByteBuffer position, limit, capacity, flip/clear/compact, and heap versus direct buffers.

  6. NIO Event-Loop Serverhistorical

    A selector/event-loop server architecture and the separation of I/O readiness from application work.

  7. Asynchronous Java Serverhistorical

    A completion-driven server design using asynchronous accept/read/write operations and explicit connection state.

  8. Java I/O Stream Basicshistorical

    Byte streams, character streams, buffering, decorators, and explicit charset boundaries in Java I/O.

  9. NIO Channelhistorical

    Java NIO channel abstractions, partial reads/writes, scattering/gathering, and channel lifecycle.

  10. Serialization Protocols for Network Serviceshistorical

    Choosing text/binary serialization by schema evolution, compatibility, size, CPU, tooling, and security.