3.IO
Java · 18 notes
- 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.
- Multithreaded Blocking I/O Serverhistorical
A thread-per-connection blocking server, its simplicity, and the need for bounded resources and modern virtual-thread context.
- Java Asynchronous I/Ohistorical
Java asynchronous channel APIs, completion handlers/futures, and the distinction between API-level asynchrony and OS implementation details.
- Blocking I/O (BIO)historical
Java blocking I/O semantics and when a simple blocking programming model remains appropriate.
- NIO Bufferhistorical
ByteBuffer position, limit, capacity, flip/clear/compact, and heap versus direct buffers.
- NIO Event-Loop Serverhistorical
A selector/event-loop server architecture and the separation of I/O readiness from application work.
- Asynchronous Java Serverhistorical
A completion-driven server design using asynchronous accept/read/write operations and explicit connection state.
- Java I/O Stream Basicshistorical
Byte streams, character streams, buffering, decorators, and explicit charset boundaries in Java I/O.
- NIO Channelhistorical
Java NIO channel abstractions, partial reads/writes, scattering/gathering, and channel lifecycle.
- Serialization Protocols for Network Serviceshistorical
Choosing text/binary serialization by schema evolution, compatibility, size, CPU, tooling, and security.
- Java File Streamshistorical
Reading and writing files with stream APIs, buffering, resource cleanup, and when NIO Files is simpler.
- java.nio.file.Fileshistorical
High-level Java filesystem operations and important caveats around atomicity, metadata, and large files.
- Application Heartbeatshistorical
Heartbeat design for detecting stale connections and distinguishing liveness from end-to-end health.
- Blocking Java Serverhistorical
A blocking server architecture, thread-per-connection trade-offs, and bounded concurrency requirements.
- Java NIO Overviewhistorical
Buffers, channels, selectors, readiness-based multiplexing, and the scope of Java NIO.
- Message Framing over TCPhistorical
Length-prefix, delimiter, and fixed-size framing for converting a TCP byte stream into application messages.
- java.nio.file.Pathhistorical
Path composition, normalization, absolute/real paths, and filesystem-safe comparisons.
- Selector-Based NIO Serverhistorical
Designing a Java non-blocking server with Selector, per-connection state, partial I/O, and backpressure.