Tagged articles
16 articles
Page 1 of 1
Lin is Dream
Lin is Dream
Aug 22, 2025 · Backend Development

Mastering Asynchronous Writes in Java NIO: Build a Reliable Write Queue

This article explains why direct writes to a Java NIO channel fail for large messages, introduces a write‑queue and OP_WRITE listener to handle partial writes, and provides a complete PacketWriter implementation that transforms synchronous writes into efficient asynchronous operations.

Java NIONettyNon-blocking IO
0 likes · 9 min read
Mastering Asynchronous Writes in Java NIO: Build a Reliable Write Queue
Lin is Dream
Lin is Dream
Aug 15, 2025 · Backend Development

Why Java NIO Beats BIO: Mastering Non‑Blocking Network Programming

This article explains what network programming is, why it matters beyond HTTP, compares BIO and NIO models, dives into Java NIO's design with selectors, channels, and ByteBuffer methods, provides full server/client code examples, and shows how Netty simplifies high‑performance networking.

ByteBufferJavaNetwork programming
0 likes · 23 min read
Why Java NIO Beats BIO: Mastering Non‑Blocking Network Programming
Deepin Linux
Deepin Linux
Jul 1, 2025 · Backend Development

Mastering IO Models: From Blocking to Asynchronous for High‑Performance Servers

This comprehensive guide explains the fundamentals of IO models—including blocking, non‑blocking, multiplexing, and asynchronous approaches—detailing their kernel interactions, practical Python examples, performance trade‑offs, and real‑world optimization strategies for high‑concurrency server applications.

Blocking IOIO modelsMultiplexing
0 likes · 33 min read
Mastering IO Models: From Blocking to Asynchronous for High‑Performance Servers
Java One
Java One
May 19, 2025 · Backend Development

Mastering Non‑Blocking IO Pipelines in Java: Design Challenges and Solutions

This article examines the difficulties of building non‑blocking services with Java NIO, compares blocking and non‑blocking pipelines, and presents practical designs for handling partial reads, dynamic buffers, message framing, and efficient write management to scale servers to millions of connections.

Java NIONon-blocking IOmessage parsing
0 likes · 19 min read
Mastering Non‑Blocking IO Pipelines in Java: Design Challenges and Solutions
JD Tech Talk
JD Tech Talk
Jan 6, 2025 · Fundamentals

Understanding IO Models: Blocking, Non‑Blocking, Multiplexing, Signal‑Driven and Asynchronous IO

This article explains the fundamentals of input/output (IO) in operating systems, covering the basic IO concept, the role of the OS, the two‑phase IO call process, and detailed descriptions of blocking, non‑blocking, multiplexed (select, poll, epoll), signal‑driven and asynchronous IO models with example code.

Blocking IOMultiplexingNon-blocking IO
0 likes · 13 min read
Understanding IO Models: Blocking, Non‑Blocking, Multiplexing, Signal‑Driven and Asynchronous IO
MaGe Linux Operations
MaGe Linux Operations
Apr 2, 2023 · Fundamentals

Understanding Linux I/O Models: From Blocking to Asynchronous

This article explains the five Linux I/O models—blocking, non‑blocking, I/O multiplexing, signal‑driven, and asynchronous—detailing their system calls, behavior, and performance characteristics while using vivid analogies to illustrate each model’s workflow.

Blocking IOIO modelsNon-blocking IO
0 likes · 10 min read
Understanding Linux I/O Models: From Blocking to Asynchronous
vivo Internet Technology
vivo Internet Technology
Mar 15, 2023 · Backend Development

Analysis of Java NIO and Tars Framework Network Programming

The article explains Java NIO’s non‑blocking channels, buffers, and selectors, then shows how the open‑source Tars RPC framework builds a multi‑reactor, multi‑thread network model on top of NIO—detailing server socket setup, event dispatch, session management, and read/write processing.

Java NIONetwork programmingNon-blocking IO
0 likes · 18 min read
Analysis of Java NIO and Tars Framework Network Programming
Top Architect
Top Architect
Apr 2, 2022 · Backend Development

Can IO Multiplexing Replace Connection Pools for Database Access?

The article explains why database connections in Java applications usually rely on connection pools instead of IO multiplexing, discusses the blocking nature of JDBC, outlines how non‑blocking drivers could be built, and examines the practical and architectural reasons that prevent IO multiplexing from becoming the default.

Database Connection PoolIO MultiplexingJDBC
0 likes · 7 min read
Can IO Multiplexing Replace Connection Pools for Database Access?
vivo Internet Technology
vivo Internet Technology
Oct 8, 2021 · Backend Development

Unlocking Reactive Power: A Deep Dive into Spring WebFlux Architecture

This article provides a comprehensive overview of Spring WebFlux, covering its reactive fundamentals, key components, auto‑configuration process, functional endpoints, request handling flow, performance benchmarks against Spring MVC, and recommended reactive data stores for high‑concurrency applications.

Backend DevelopmentNon-blocking IOSpring Framework
0 likes · 14 min read
Unlocking Reactive Power: A Deep Dive into Spring WebFlux Architecture
Liangxu Linux
Liangxu Linux
Aug 31, 2021 · Fundamentals

Understanding the Four Core I/O Models: Blocking, Non‑Blocking, Multiplexing, and Asynchronous

Explore the four fundamental I/O models—Blocking, Non‑Blocking, I/O Multiplexing (Reactor), and Asynchronous (Proactor)—with clear explanations and illustrative diagrams, helping readers grasp how each model works, their typical use cases, and why technologies like epoll or Redis benefit from multiplexing.

Blocking IOI/O MultiplexingIO models
0 likes · 3 min read
Understanding the Four Core I/O Models: Blocking, Non‑Blocking, Multiplexing, and Asynchronous
Code Ape Tech Column
Code Ape Tech Column
Feb 18, 2021 · Fundamentals

Understanding Linux I/O Models: Blocking, Non‑Blocking, Multiplexing, Signal‑Driven, and Asynchronous

This article explains the five Linux I/O models—blocking, non‑blocking, I/O multiplexing, signal‑driven, and asynchronous—detailing their system calls, synchronization characteristics, and how they map to Java BIO, NIO, and AIO implementations, with illustrative analogies and usage scenarios.

Blocking IOIO modelsJava NIO
0 likes · 15 min read
Understanding Linux I/O Models: Blocking, Non‑Blocking, Multiplexing, Signal‑Driven, and Asynchronous
Liangxu Linux
Liangxu Linux
Dec 30, 2020 · Backend Development

How Servers Serve Millions: Processes, Threads, and Event Loops Explained

This article explains how servers handle massive concurrent requests by evolving from simple multi‑process models to lightweight threads, then to event‑driven architectures with I/O multiplexing, highlighting the trade‑offs of blocking versus non‑blocking I/O and the role of coroutines.

IO MultiplexingNon-blocking IOThreads
0 likes · 12 min read
How Servers Serve Millions: Processes, Threads, and Event Loops Explained
ZhiKe AI
ZhiKe AI
Mar 8, 2017 · Fundamentals

Understanding Java NIO: Core Components and How They Differ from Traditional IO

This article explains Java NIO introduced in Java 1.4, covering its core components—Channels, Buffers, and Selectors—detailing channel types, buffer operations, non‑blocking behavior, selector usage, and code examples such as FileChannel and Pipe, and compares NIO with classic IO.

BuffersChannelsFileChannel
0 likes · 19 min read
Understanding Java NIO: Core Components and How They Differ from Traditional IO