Tagged articles
56 articles
Page 1 of 1
Deepin Linux
Deepin Linux
Feb 4, 2026 · Fundamentals

How Zero‑Copy and DMA Supercharge Data Transfer Performance

This article explains the fundamentals of zero‑copy, DMA, PageCache and RDMA, compares them with traditional I/O, describes Linux implementations such as sendfile, mmap+write, splice and Java NIO APIs, and shows practical use‑cases that dramatically reduce CPU load and latency in high‑throughput networking and file handling.

DMAJava NIOLinux
0 likes · 40 min read
How Zero‑Copy and DMA Supercharge Data Transfer Performance
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
Open Source Tech Hub
Open Source Tech Hub
Jul 19, 2025 · Fundamentals

How Zero‑Copy, DMA, and RDMA Supercharge Data Transfer in Linux

This article explains the performance bottlenecks of traditional I/O, introduces zero‑copy concepts and their relationship with DMA and PageCache, details RDMA architectures, and demonstrates practical zero‑copy implementations such as mmap+write, sendfile, splice, tee, and Java NIO APIs.

DMAJava NIOLinux
0 likes · 41 min read
How Zero‑Copy, DMA, and RDMA Supercharge Data Transfer in Linux
Selected Java Interview Questions
Selected Java Interview Questions
Jul 13, 2025 · Backend Development

How Zero‑Copy Can Speed Up Large File Splitting in Java

This article explains why a naïve BufferedReader/Writer approach to splitting large text files is inefficient, demonstrates a zero‑copy solution using FileChannel.transferTo with line‑preserving logic, and shows benchmark results that reveal dramatic performance gains.

File SplittingJava NIOZero Copy
0 likes · 10 min read
How Zero‑Copy Can Speed Up Large File Splitting in Java
Cognitive Technology Team
Cognitive Technology Team
Jul 6, 2025 · Backend Development

Why Spring WebClient Throws OutOfMemoryError and How to Fix It

Upgrading Spring Boot's RestTemplate to the NIO‑based WebClient improves concurrency and performance, but can trigger a java.lang.OutOfMemoryError: Direct buffer memory; this article explains the cause, diagnostic steps using yCrash, and how adjusting -XX:MaxDirectMemorySize resolves the issue.

Java NIOOutOfMemoryErrorSpring Boot
0 likes · 10 min read
Why Spring WebClient Throws OutOfMemoryError and How to Fix It
Java Captain
Java Captain
Jul 6, 2025 · Backend Development

Why Choose Netty Over Java NIO? A Hands‑On Guide with Server‑Client Demo

This article explains why using raw Java NIO for network communication is problematic, highlights Netty's advantages such as simplified APIs, high performance, and extensive adoption, and provides a complete server‑client demo with detailed code and design insights.

Java NIONettyReactor Pattern
0 likes · 14 min read
Why Choose Netty Over Java NIO? A Hands‑On Guide with Server‑Client Demo
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
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Apr 3, 2024 · Backend Development

Comprehensive Introduction to Netty: Features, Architecture, Core Components, and Application Scenarios

This article provides a detailed overview of Netty, a high‑performance asynchronous NIO framework, covering its key features, architectural design, core components, high‑performance strategies, and typical use cases in internet services, gaming, and big‑data systems, while also highlighting why it outperforms native JDK NIO.

Java NIONettyNetwork Framework
0 likes · 9 min read
Comprehensive Introduction to Netty: Features, Architecture, Core Components, and Application Scenarios
Sanyou's Java Diary
Sanyou's Java Diary
Jan 18, 2024 · Big Data

Inside Kafka’s Network Layer: How Messages Are Sent and Received

This article walks through Kafka’s network‑layer internals, detailing how the client prepares, pre‑sends, and actually sends messages, then reads and parses responses, with code snippets that illustrate the Selector, KafkaChannel, and related classes in Java NIO.

Java NIOKafkaMessage Receiving
0 likes · 22 min read
Inside Kafka’s Network Layer: How Messages Are Sent and Received
Su San Talks Tech
Su San Talks Tech
Jul 27, 2023 · Fundamentals

How Zero-Copy I/O Boosts Performance: From Theory to Java NIO

This article explains the traditional I/O read/write workflow, identifies its performance bottlenecks, introduces the concept of zero‑copy, and demonstrates practical zero‑copy implementations—including DMA, sendfile, shared memory, memory‑mapped files, and Java NIO techniques such as ByteBuffer, Channel, transferTo/transferFrom, and memory‑mapped files.

DMAI/OJava NIO
0 likes · 15 min read
How Zero-Copy I/O Boosts Performance: From Theory to Java NIO
Sanyou's Java Diary
Sanyou's Java Diary
Jul 17, 2023 · Backend Development

How Kafka’s Broker Handles Millions of Requests: Inside Its Network Architecture

This article deeply analyzes Kafka broker’s network architecture and request‑handling pipeline, walking through simple sequential models, multithreaded async designs, the Reactor pattern with Java NIO, key thread roles, core processing flow, and practical tuning parameters for high‑throughput, low‑latency deployments.

Java NIOKafkaReactor Pattern
0 likes · 21 min read
How Kafka’s Broker Handles Millions of Requests: Inside Its Network Architecture
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
Nov 16, 2022 · Backend Development

Understanding Zero‑Copy in Java: Concepts, Mechanisms, and Implementations

This article explains the zero‑copy technique in Java, covering I/O fundamentals, kernel read/write flow, mmap+write and Sendfile methods, virtual memory mapping, MappedByteBuffer and DirectByteBuffer usage, channel‑to‑channel transfer, Netty composite buffers, and how frameworks like RocketMQ and Kafka leverage zero‑copy for performance.

Java NIONettyZero Copy
0 likes · 13 min read
Understanding Zero‑Copy in Java: Concepts, Mechanisms, and Implementations
Architect's Guide
Architect's Guide
Nov 6, 2022 · Backend Development

Zero‑Copy Techniques in Java: Buffers, MappedByteBuffer, Sendfile, and Netty

This article explains the concept of zero‑copy, how it eliminates redundant data copying in I/O operations, and demonstrates its implementation in Java through buffers, mmap+write, Sendfile, MappedByteBuffer, DirectByteBuffer, channel‑to‑channel transfers, and Netty’s composite buffers.

FileChannelJava NIOMappedByteBuffer
0 likes · 12 min read
Zero‑Copy Techniques in Java: Buffers, MappedByteBuffer, Sendfile, and Netty
Architect
Architect
Sep 13, 2022 · Backend Development

Understanding Zero‑Copy in Java I/O, NIO, Netty and Messaging Systems

This article explains the concept of zero‑copy, its benefits for I/O performance, and how Java NIO, Netty, Kafka, RocketMQ and related APIs such as mmap+write and sendfile implement zero‑copy to avoid unnecessary data copying between kernel and user space.

I/O performanceJava NIOMappedByteBuffer
0 likes · 13 min read
Understanding Zero‑Copy in Java I/O, NIO, Netty and Messaging Systems
Architect's Guide
Architect's Guide
Aug 24, 2022 · Backend Development

Optimizing Long‑Connection Services with Netty: From Millions of Connections to High QPS

This article summarizes the challenges and optimization techniques for building a high‑performance long‑connection service with Netty, covering non‑blocking I/O, Linux kernel tuning, client‑side testing, VM‑based scaling, data‑structure tweaks, CPU and GC bottlenecks, and the final results of achieving hundreds of thousands of connections and tens of thousands of QPS on a single server.

GC tuningJava NIOLinux Tuning
0 likes · 14 min read
Optimizing Long‑Connection Services with Netty: From Millions of Connections to High QPS
Bin's Tech Cabin
Bin's Tech Cabin
Aug 11, 2022 · Backend Development

Unlocking Netty’s ByteBuf: A Deep Dive into Java NIO Buffers and Byte Order

This article explores Netty’s low‑level data container ByteBuf by examining Java NIO Buffer design, its core attributes, view mechanisms, heap and direct implementations, byte‑order handling, and how to read and write primitive types, providing a comprehensive foundation for high‑performance network programming.

Byte OrderByteBufHeapByteBuffer
0 likes · 54 min read
Unlocking Netty’s ByteBuf: A Deep Dive into Java NIO Buffers and Byte Order
IT Architects Alliance
IT Architects Alliance
May 5, 2022 · Backend Development

How to Build a Million‑Connection Netty Server: Tips, Code, and Tuning

This article walks through the challenges and solutions for building a high‑performance long‑connection service with Netty, covering Netty basics, non‑blocking I/O, sample Java NIO and Netty code, Linux kernel tuning, QPS optimization, data‑structure tweaks, GC adjustments, and the final performance results.

GC tuningJava NIOLinux Tuning
0 likes · 14 min read
How to Build a Million‑Connection Netty Server: Tips, Code, and Tuning
Top Architect
Top Architect
May 5, 2022 · Backend Development

Implementing High‑Performance Long‑Connection Services with Netty: Challenges, Bottlenecks, and Optimizations

This article explains how to build a scalable long‑connection server using Netty, covering the fundamentals of non‑blocking I/O, practical code examples for achieving millions of concurrent connections, common Linux kernel limits, CPU and GC bottlenecks, and a series of tuning techniques to dramatically improve QPS and stability.

Java NIOLong ConnectionsNetty
0 likes · 15 min read
Implementing High‑Performance Long‑Connection Services with Netty: Challenges, Bottlenecks, and Optimizations
Architect's Journey
Architect's Journey
Mar 16, 2022 · Backend Development

Cracking NIO Interview: An Alibaba P7 Senior Explains IO Multiplexing

In this interview‑style tutorial, an Alibaba P7 engineer walks through the limitations of BIO, the non‑blocking NIO API, kernel‑level select/poll mechanisms, and the design of epoll, illustrating how each solves the C10K problem and how they are used in Java.

BackendIO MultiplexingJava NIO
0 likes · 16 min read
Cracking NIO Interview: An Alibaba P7 Senior Explains IO Multiplexing
Programmer DD
Programmer DD
Mar 8, 2022 · Backend Development

Why Netty Beats JDK NIO: A Hands‑On Guide to High‑Performance Java Networking

This article walks through the limitations of traditional Java IO, explains how NIO and its selector mechanism solve thread‑resource and efficiency problems, and demonstrates why Netty’s higher‑level abstraction makes network programming far simpler and more performant, complete with runnable code examples.

Java NIONettyReactor Pattern
0 likes · 17 min read
Why Netty Beats JDK NIO: A Hands‑On Guide to High‑Performance Java Networking
Wukong Talks Architecture
Wukong Talks Architecture
Mar 7, 2022 · Backend Development

From Java NIO to Netty: A Practical Guide to High‑Performance Network Programming

This article explains the limitations of traditional blocking I/O, introduces Java NIO with selectors, compares the two models using a kindergarten analogy, critiques raw JDK NIO, and demonstrates how Netty simplifies and optimizes network development with concise server and client code examples while promoting a comprehensive Netty learning book.

AsynchronousJava NIONetwork programming
0 likes · 17 min read
From Java NIO to Netty: A Practical Guide to High‑Performance Network Programming
Bin's Tech Cabin
Bin's Tech Cabin
Feb 11, 2022 · Backend Development

Why Netty’s Connection Handling Slows Down – Inside the OP_ACCEPT Bug and Fix

This article dissects Netty’s core connection‑acceptance mechanism, explains how the OP_ACCEPT event is processed, reveals a subtle bug that limits read loops to a single connection, and shows the fix introduced in version 4.1.69.final, offering developers a complete understanding of Netty’s reactor architecture.

Java NIONettyOP_ACCEPT
0 likes · 40 min read
Why Netty’s Connection Handling Slows Down – Inside the OP_ACCEPT Bug and Fix
Bin's Tech Cabin
Bin's Tech Cabin
Jan 13, 2022 · Backend Development

How Netty Builds Its Reactor Thread Pool: Deep Dive into NioEventLoopGroup

This article explains how Netty constructs its core reactor thread pool using NioEventLoopGroup, detailing the creation of boss and worker groups, the underlying selector optimization, task queue setup, and the round‑robin binding strategy that distributes channels across multiple event loops for high‑performance I/O handling.

IO MultiplexingJava NIONetty
0 likes · 39 min read
How Netty Builds Its Reactor Thread Pool: Deep Dive into NioEventLoopGroup
Top Architect
Top Architect
Jun 21, 2021 · Backend Development

Implementing High‑Performance Long‑Connection Services with Netty: Challenges and Optimizations

This article explains how to build a scalable long‑connection service using Netty, covering the underlying concepts, Linux kernel tuning, code examples for Java NIO and Netty, performance bottlenecks such as QPS, data‑structure and GC issues, and practical optimization techniques to achieve hundreds of thousands of concurrent connections.

Java NIOLinux TuningNetty
0 likes · 13 min read
Implementing High‑Performance Long‑Connection Services with Netty: Challenges and Optimizations
Top Architect
Top Architect
Jun 1, 2021 · Backend Development

Zero‑Copy Mechanisms in Operating Systems and Java

This article explains how zero‑copy techniques such as mmap, sendfile, and splice reduce CPU involvement in data transfer by avoiding memory copies between kernel and user spaces, and shows how Java NIO and Netty implement these mechanisms for high‑performance backend I/O.

BackendJava NIOZero Copy
0 likes · 8 min read
Zero‑Copy Mechanisms in Operating Systems and Java
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Mar 22, 2021 · Big Data

Kafka Performance Optimization: Sequential Writes, Zero‑Copy, PageCache, and Network Model

This article provides a comprehensive overview of Kafka performance optimization, covering network, disk, and complexity challenges, sequential write techniques, zero‑copy data transfer, page‑cache usage, reactor‑based networking, batch processing, compression, partition concurrency, and file‑structure design to help developers build high‑throughput, low‑latency streaming systems.

Disk I/OJava NIOZero Copy
0 likes · 17 min read
Kafka Performance Optimization: Sequential Writes, Zero‑Copy, PageCache, and Network Model
Programmer DD
Programmer DD
Mar 16, 2021 · Backend Development

Understanding Netty’s Thread Model: Reactor Patterns and Performance Optimizations

This article explains Netty’s high‑performance asynchronous NIO architecture, introduces the Reactor pattern and its three thread‑model variants, and details Netty’s core components such as Selector, EventLoopGroup, ChannelPipeline, and ByteBuf, highlighting how they improve scalability and efficiency.

Java NIONettyReactor Pattern
0 likes · 11 min read
Understanding Netty’s Thread Model: Reactor Patterns and Performance Optimizations
Aikesheng Open Source Community
Aikesheng Open Source Community
Feb 23, 2021 · Backend Development

DBLE Network Module: Overview and Summary

This article summarizes the DBLE network module, describing its key classes such as NIOAcceptor, NIOReactor, and SocketWR, explaining how client connections are accepted and processed, and highlighting the importance of low‑level network I/O knowledge for middleware development.

DBLEJava NIONetwork I/O
0 likes · 4 min read
DBLE Network Module: Overview and Summary
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
Sohu Tech Products
Sohu Tech Products
Jan 28, 2021 · Backend Development

Understanding Netty’s Thread Model: Master‑Worker Multi‑Reactor Architecture

This article explains Netty’s core architecture and its master‑worker multi‑reactor thread model, detailing the roles of Acceptor, Main Reactor, and Sub Reactor, how connection handling, I/O, encoding/decoding, and business logic are coordinated across threads, and provides practical insights for interview preparation.

Java NIOReactor PatternThread Model
0 likes · 11 min read
Understanding Netty’s Thread Model: Master‑Worker Multi‑Reactor Architecture
JD Retail Technology
JD Retail Technology
Dec 28, 2020 · Backend Development

Simplified Analysis of Netty Server and Client Startup and Communication

This article provides a concise, code‑driven walkthrough of Netty's core components—including event‑loop groups, channel initialization, pipeline handling, and the server‑client handshake process—by simplifying the original source to highlight the essential mechanisms behind asynchronous network communication in Java.

Channel pipelineJava NIONetty
0 likes · 19 min read
Simplified Analysis of Netty Server and Client Startup and Communication
JavaEdge
JavaEdge
Dec 25, 2020 · Backend Development

How Netty Accepts Connections: Inside NioEventLoop and Worker Threads

This article explains how Netty's boss and worker NioEventLoop threads collaborate to accept socket connections, register selectors, and transition to read operations, detailing the underlying selector polling, OP_ACCEPT handling, and the code paths that trigger channel activation.

BackendJava NIONetty
0 likes · 4 min read
How Netty Accepts Connections: Inside NioEventLoop and Worker Threads
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Nov 30, 2020 · Backend Development

Netty Architecture and Principles: An Introductory Tutorial

This tutorial provides a detailed introduction to Netty, covering its architecture, core concepts such as buffers, channels, selectors, reactor thread models, zero‑copy techniques, and includes practical TCP server/client code examples, helping readers understand and apply Netty for high‑performance Java network programming.

Java NIONettyReactor
0 likes · 42 min read
Netty Architecture and Principles: An Introductory Tutorial
Big Data Technology & Architecture
Big Data Technology & Architecture
Oct 29, 2020 · Fundamentals

Zero-Copy Data Transfer Mechanism: Principles, Implementations, and Applications in Java, Kafka, and Spark

This article explains the zero‑copy data transfer technique, compares it with traditional read/write approaches, shows Java NIO code examples, and discusses its use in high‑performance systems such as Kafka and Spark, highlighting the reductions in context switches and memory copies.

Data TransferJava NIOKafka
0 likes · 16 min read
Zero-Copy Data Transfer Mechanism: Principles, Implementations, and Applications in Java, Kafka, and Spark
Big Data Technology & Architecture
Big Data Technology & Architecture
May 14, 2019 · Fundamentals

Zero‑Copy Data Transfer: Principles, Mechanisms, and Applications in Kafka and Spark

This article explains the traditional copy‑based data transmission process, introduces the zero‑copy technique—including basic sendfile(), scatter/gather DMA and mmap support—shows how it reduces context switches and copies, and demonstrates its practical use in Kafka and Spark for high‑throughput workloads.

Data TransferJava NIOSpark
0 likes · 12 min read
Zero‑Copy Data Transfer: Principles, Mechanisms, and Applications in Kafka and Spark
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
Architecture Digest
Architecture Digest
Dec 14, 2016 · Backend Development

Deep Dive into Netty: How a Server Starts and Binds a Port

This article explains the internal workflow of Netty when launching a server, covering why Netty is chosen over raw JDK NIO, the key components created during bootstrap, the step‑by‑step source‑code analysis of channel creation, initialization, registration, and the final bind operation that activates the server.

ChannelEventLoopJava NIO
0 likes · 18 min read
Deep Dive into Netty: How a Server Starts and Binds a Port