Tagged articles
118 articles
Page 1 of 2
Lin is Dream
Lin is Dream
Aug 29, 2025 · Backend Development

How I Built a Mini‑Netty from Scratch: Lessons in Java NIO Design

This article concludes the "From Zero Hand‑write Mini Netty" series, walking through the evolution from a simple single‑thread NIO program to a multi‑threaded, pluggable Mini‑Netty framework with heartbeat, decoding, and responsibility‑chain processing, and outlines future plans for a full‑featured Netty chat application.

BackendJavaMini Framework
0 likes · 7 min read
How I Built a Mini‑Netty from Scratch: Lessons in Java NIO Design
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Aug 27, 2025 · Backend Development

How Spring Cloud Gateway Handles Millions of Requests with NIO and Reactive Design

This article explains how Spring Cloud Gateway leverages a non‑blocking NIO model, Reactor's reactive programming, cluster horizontal scaling, token‑bucket rate limiting, and Resilience4j circuit breaking to sustain million‑level concurrent traffic while maintaining low latency and high throughput.

Spring Cloud Gatewaycircuit breakernio
0 likes · 4 min read
How Spring Cloud Gateway Handles Millions of Requests with NIO and Reactive Design
Lin is Dream
Lin is Dream
Aug 18, 2025 · Backend Development

Boost Java NIO Performance with a Multi‑Threaded Boss‑Worker Server Model

This article explains how to overcome the single‑threaded bottleneck of Java NIO by introducing a Boss‑Worker architecture, detailing the design of multiple Selectors, thread binding, client implementation, performance considerations, and provides complete open‑source code examples.

Boss-WorkerJavaServer
0 likes · 11 min read
Boost Java NIO Performance with a Multi‑Threaded Boss‑Worker Server Model
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
Lin is Dream
Lin is Dream
Jul 30, 2025 · Backend Development

Master Java NIO: Simplify Large File Read/Write with ByteBuffer in 5 Steps

This article explains the fundamentals of Java NIO, showing how to use Channels and ByteBuffer to efficiently read, write, and manipulate large files, including memory‑mapped files and RandomAccessFile alternatives, with clear code examples and step‑by‑step guidance.

ByteBufferFileChannelJava
0 likes · 18 min read
Master Java NIO: Simplify Large File Read/Write with ByteBuffer in 5 Steps
Cognitive Technology Team
Cognitive Technology Team
Apr 17, 2025 · Backend Development

Understanding and Solving NIO Empty Polling in Java with Netty

This article explains the root causes of Java NIO empty polling, its impact on CPU usage, and presents Netty's multi‑layer detection, threshold‑based auto‑rebuild, and selector reconstruction techniques, along with configuration tips and future optimization directions for high‑concurrency backend systems.

EmptyPollingJavaNetty
0 likes · 8 min read
Understanding and Solving NIO Empty Polling in Java with Netty
Lobster Programming
Lobster Programming
Mar 24, 2025 · Backend Development

Boost Java File Copy Performance: 5 Proven Methods Compared

Learn five Java file copy techniques—from basic streams to NIO Files.copy, FileChannel, and RandomAccessFile—detailing their implementations, performance differences, and ideal use cases for small, large, and massive files, helping you choose the most efficient method for your project.

BufferedStreamFileChannelJava
0 likes · 6 min read
Boost Java File Copy Performance: 5 Proven Methods Compared
Java One
Java One
Mar 9, 2025 · Backend Development

What’s Behind Java’s I/O: From BIO to Epoll and Beyond

This article explains the fundamentals of I/O in Unix and Java, covering the distinction between user and kernel space, the five Unix I/O models, the evolution from select/poll to epoll/kqueue, and how modern network frameworks like Reactor and Proactor leverage these mechanisms for high‑performance networking.

JavaNetworkingepoll
0 likes · 16 min read
What’s Behind Java’s I/O: From BIO to Epoll and Beyond
Bin's Tech Cabin
Bin's Tech Cabin
Apr 1, 2024 · Fundamentals

Why System.gc Matters for Java NIO Memory Management

This article explains how Java's System.gc triggers full or concurrent garbage collection in NIO scenarios, detailing the JVM's handling of out‑of‑memory errors during memory‑mapped file operations and direct buffer allocations, and examines the behavior across various garbage collectors such as Serial, Parallel, G1, ZGC, and Shenandoah.

DirectByteBufferGarbage CollectionJVM
0 likes · 20 min read
Why System.gc Matters for Java NIO Memory Management
Bin's Tech Cabin
Bin's Tech Cabin
Mar 28, 2024 · Backend Development

Why MappedByteBuffer Beats FileChannel (And When It Doesn’t) – Deep Linux Kernel Insights

This article examines the internal read/write mechanisms of Java's FileChannel and MappedByteBuffer on Linux kernel 5.4, compares their performance through detailed source analysis and benchmarks, and explains why MappedByteBuffer often outperforms FileChannel for small I/O but can be overtaken for larger transfers due to page‑fault and dirty‑page handling.

FileChannelJavaLinux kernel
0 likes · 28 min read
Why MappedByteBuffer Beats FileChannel (And When It Doesn’t) – Deep Linux Kernel Insights
dbaplus Community
dbaplus Community
Mar 26, 2024 · Backend Development

Why Java Apps Still Prefer Connection Pools Over IO Multiplexing for Database Access

Although IO multiplexing can boost performance, most Java applications continue to use connection pools like c3p0 or Tomcat because JDBC is blocking, DB protocols require multiple sessions, and integrating NIO drivers into existing web containers adds significant complexity and ecosystem constraints.

Connection PoolDatabase AccessIO Multiplexing
0 likes · 9 min read
Why Java Apps Still Prefer Connection Pools Over IO Multiplexing for Database Access
Su San Talks Tech
Su San Talks Tech
Mar 19, 2024 · Backend Development

Cut Page Load Time from 5 s to <1 s: Java IO, NIO, mmap & Zero‑Copy Tricks

This article explains why a Java page took five seconds to load, identifies three bottlenecks involving large BLOB fields and file I/O, and walks through four optimization steps—including lazy loading, buffered streams, memory‑mapped files, and sendFile zero‑copy—that reduce the load time to under one second.

IO performanceJavabuffered streams
0 likes · 17 min read
Cut Page Load Time from 5 s to <1 s: Java IO, NIO, mmap & Zero‑Copy Tricks
DataFunSummit
DataFunSummit
Mar 5, 2024 · Artificial Intelligence

Application and Practice of Large Models in Intelligent Electric Vehicles

The presentation by NIO senior technology planning expert Chen Jiong explores the development trends of intelligent electric vehicles, showcases how large AI models empower various automotive scenarios, and shares NIO's practical implementations, offering insights on industry-focused solutions, problem‑driven application, and unified architecture design.

System Architectureautonomous drivingelectric vehicles
0 likes · 3 min read
Application and Practice of Large Models in Intelligent Electric Vehicles
DeWu Technology
DeWu Technology
Nov 1, 2023 · Backend Development

Evolution of the Rainbow Bridge Architecture: From BIO to NIO with Custom Database Driver and Connection Pool

The article chronicles the Rainbow Bridge proxy’s shift from a blocking BIO JDBC driver to a custom Netty‑based NIO driver with an event‑loop‑affine connection pool, detailing optimizations such as codec skipping and lock‑free queues that yield up to 67% higher throughput, 37% lower load, and a 98% reduction in thread usage.

AsynchronousConnection PoolDatabase Driver
0 likes · 11 min read
Evolution of the Rainbow Bridge Architecture: From BIO to NIO with Custom Database Driver and Connection Pool
Sanyou's Java Diary
Sanyou's Java Diary
Oct 9, 2023 · Backend Development

Unlocking Java NIO: How Select, Poll, and Epoll Revolutionize I/O Multiplexing

This article explains the evolution of I/O multiplexing in Java, covering the birth of multiplexing, the introduction of NIO with Selector, and detailed comparisons of select, poll, and epoll mechanisms, including their APIs, internal workings, and performance considerations for high‑concurrency network programming.

I/O Multiplexingepollnio
0 likes · 44 min read
Unlocking Java NIO: How Select, Poll, and Epoll Revolutionize I/O Multiplexing
Top Architect
Top Architect
Sep 22, 2023 · Backend Development

Understanding Java I/O: BIO, NIO, AIO, and Netty – A Comprehensive Guide

This article provides a comprehensive overview of Java I/O models—including blocking (BIO), non‑blocking (NIO), asynchronous (AIO)—explains their differences, demonstrates file and network programming with code examples, and introduces Netty as a high‑performance framework for building scalable server applications.

Java I/ONettyNetwork programming
0 likes · 32 min read
Understanding Java I/O: BIO, NIO, AIO, and Netty – A Comprehensive Guide
DataFunTalk
DataFunTalk
Jul 13, 2023 · Artificial Intelligence

Time Series Forecasting for NIO Power Swap Stations: Business Background, Challenges, and Algorithm Practice

This article presents NIO's smart energy service platform, focusing on the NIO Power swap‑station business and detailing how time‑series forecasting is applied to predict demand, addressing complex seasonality, holiday drift, growth and competition, and describing the underlying machine‑learning and deep‑learning models and system architecture.

Embeddingenergy servicesmachine learning
0 likes · 16 min read
Time Series Forecasting for NIO Power Swap Stations: Business Background, Challenges, and Algorithm Practice
Architect
Architect
Jul 11, 2023 · Backend Development

Why Database Connection Pools Do Not Use IO Multiplexing

The article explains that database connection pools remain based on blocking I/O because JDBC was designed for BIO, managing session state per connection, and the ecosystem lacks a unified non‑blocking driver, making IO multiplexing technically possible but practically complex and rarely needed.

BackendConnection PoolIO Multiplexing
0 likes · 9 min read
Why Database Connection Pools Do Not Use IO Multiplexing
Java Architect Essentials
Java Architect Essentials
Jun 30, 2023 · Backend Development

Why Database Connection Pools Do Not Use IO Multiplexing in Java

Although IO multiplexing can improve performance, Java applications typically use traditional connection pools like c3p0 or Tomcat because JDBC is built on blocking I/O, DB sessions require separate connections, and integrating NIO would complicate program architecture, making connection pools the pragmatic, mature solution.

Connection PoolIO MultiplexingJDBC
0 likes · 9 min read
Why Database Connection Pools Do Not Use IO Multiplexing in Java
vivo Internet Technology
vivo Internet Technology
Jun 21, 2023 · Backend Development

Design and Implementation of Jetty ManagedSelector and ExecutionStrategy

Jetty’s ManagedSelector wraps the native NIO selector and, together with its ExecutionStrategy abstractions, merges I/O detection and handling in a single thread or adaptive pool, using strategies such as ProduceConsume, ProduceExecuteConsume, ExecuteProduceConsume, and EatWhatYouKill to maximize cache reuse and minimize context‑switch overhead in high‑concurrency applications.

ExecutionStrategyJavaJetty
0 likes · 13 min read
Design and Implementation of Jetty ManagedSelector and ExecutionStrategy
Alibaba Cloud Developer
Alibaba Cloud Developer
Jun 6, 2023 · Backend Development

Mastering Java I/O: From BIO to NIO and Epoll to Solve the c10k Challenge

This article walks through the evolution of Java I/O models—from blocking BIO to non‑blocking NIO and multiplexed epoll—explains core concepts such as blocking, non‑blocking, synchronous and asynchronous operations, and demonstrates practical code for handling thousands of concurrent connections efficiently.

C10KI/ONetworking
0 likes · 22 min read
Mastering Java I/O: From BIO to NIO and Epoll to Solve the c10k Challenge
Java Interview Crash Guide
Java Interview Crash Guide
Apr 20, 2023 · Fundamentals

Master Java I/O: Streams, NIO, and Serialization Explained

This article introduces Java I/O streams, explains how to efficiently read large files using buffered streams and NIO, details the core components of Java NIO (Channel, Buffer, Selector), and covers object serialization, the role of serialVersionUID, and alternative serialization frameworks.

Streamsionio
0 likes · 12 min read
Master Java I/O: Streams, NIO, and Serialization Explained
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Apr 13, 2023 · Backend Development

Comprehensive Introduction to Netty: Features, Architecture, High‑Performance Design, Core Components, and Application Scenarios

Netty is a high‑performance, asynchronous, event‑driven NIO framework widely used in Java backend systems such as Dubbo and RocketMQ, and this article explains its fundamentals, key characteristics, architectural layers, high‑performance design, core components, and typical application scenarios across internet, gaming, and big‑data domains.

Backend DevelopmentJavaNetty
0 likes · 9 min read
Comprehensive Introduction to Netty: Features, Architecture, High‑Performance Design, Core Components, and Application Scenarios
Mike Chen's Internet Architecture
Mike Chen's Internet Architecture
Apr 12, 2023 · Backend Development

Understanding Java I/O Models: BIO, NIO, AIO and Their Applications

This article explains the three main Java I/O models—BIO (blocking), NIO (non‑blocking), and AIO (asynchronous)—detailing their characteristics, differences in blocking behavior, core components like Buffer, Channel, and Selector, and shows how they are applied in popular frameworks such as Netty, Mina, and Dubbo.

AsynchronousBackendI/O Models
0 likes · 9 min read
Understanding Java I/O Models: BIO, NIO, AIO and Their Applications
Top Architect
Top Architect
Mar 7, 2023 · Backend Development

Differences Between BIO, NIO, and AIO in Java Network Programming

This article explains the concepts of synchronous vs asynchronous and blocking vs non‑blocking I/O, then details the characteristics, advantages, and drawbacks of Java’s three I/O models—BIO, NIO, and AIO—providing guidance on when to use each approach in backend development.

AIOBIOBackend
0 likes · 9 min read
Differences Between BIO, NIO, and AIO in Java Network Programming
Sanyou's Java Diary
Sanyou's Java Diary
Feb 16, 2023 · Backend Development

Why Is Redis Fast? Unveiling the Real Power of BIO, NIO, and Reactor Models

This article demystifies the true reasons behind Redis's speed by exploring low‑level I/O mechanisms—from basic BIO to NIO and the Reactor model—explaining socket creation, connection handling, blocking behavior, and how Java’s non‑blocking APIs and system calls work together to achieve high‑throughput networking.

BIOBlockingI/O
0 likes · 33 min read
Why Is Redis Fast? Unveiling the Real Power of BIO, NIO, and Reactor Models
Code Ape Tech Column
Code Ape Tech Column
Dec 22, 2022 · Backend Development

Why Database Connection Pools Do Not Use IO Multiplexing (Java Interview Question)

The article explains why Java applications typically use traditional database connection pools instead of IO multiplexing, covering JDBC’s blocking design, session management, ecosystem maturity, and the complexity of integrating non‑blocking I/O with existing frameworks, while noting that a non‑blocking implementation is technically feasible.

BackendConnection PoolIO Multiplexing
0 likes · 9 min read
Why Database Connection Pools Do Not Use IO Multiplexing (Java Interview Question)
Su San Talks Tech
Su San Talks Tech
Sep 9, 2022 · Fundamentals

How Linux Kernel Handles JDK NIO File I/O: From Page Cache to Direct IO

This article deeply explores the Linux kernel's handling of JDK NIO file reads and writes, detailing the role of page cache, radix trees, buffered versus direct I/O, prefetch algorithms, dirty‑page write‑back mechanisms, and the key sysctl parameters that control performance and data safety.

I/O performanceJavaLinux kernel
0 likes · 80 min read
How Linux Kernel Handles JDK NIO File I/O: From Page Cache to Direct IO
Big Data Technology & Architecture
Big Data Technology & Architecture
Jun 6, 2022 · Backend Development

Netty Overview: Core Concepts, Architecture, and Practical Implementation

This article provides a comprehensive guide to Netty, covering its definition, advantages, key features, application scenarios, performance characteristics, architectural components, threading models, code examples, handling of packet framing, zero‑copy techniques, connection management, object pooling, and supported serialization protocols.

AsynchronousNettyNetworking
0 likes · 24 min read
Netty Overview: Core Concepts, Architecture, and Practical Implementation
FunTester
FunTester
May 22, 2022 · Backend Development

Why Netty Beats JDK NIO: A Hands‑On Comparison and Code Walkthrough

This article compares traditional Java IO, JDK NIO, and the Netty framework, explaining their thread models, selector mechanisms, and performance trade‑offs, while providing complete server‑client code examples that demonstrate how Netty simplifies high‑performance network programming.

AsynchronousBackendJava
0 likes · 13 min read
Why Netty Beats JDK NIO: A Hands‑On Comparison and Code Walkthrough
Senior Brother's Insights
Senior Brother's Insights
May 4, 2022 · Backend Development

Inside Tomcat: Architecture, Lifecycle, Connectors, and Asynchronous Processing Explained

This article provides a comprehensive technical overview of Apache Tomcat, covering its role as a Java EE servlet container, internal components such as Server, Service, Connector, and Container, lifecycle management, startup sequence, deployment configuration, JSP engine, connector types, NIO processing, Comet, and asynchronous servlet handling.

AsynchronousConnectorJava
0 likes · 23 min read
Inside Tomcat: Architecture, Lifecycle, Connectors, and Asynchronous Processing Explained
Architecture Digest
Architecture Digest
Mar 27, 2022 · Backend Development

Why Database Connections Are Not Integrated with IO Multiplexing by Default

The article explains that although IO multiplexing can improve performance, database access in Java typically relies on JDBC and connection pools, which are built on blocking I/O, making it difficult to combine DB connections with IO multiplexing without major architectural changes.

IO MultiplexingJDBCdatabase connections
0 likes · 7 min read
Why Database Connections Are Not Integrated with IO Multiplexing by Default
Top Architect
Top Architect
Feb 8, 2022 · Backend Development

Why Database Connection Pools Do Not Use IO Multiplexing

The article explains why traditional Java database connection pools rely on blocking I/O instead of IO multiplexing, covering JDBC's design, session management, resource constraints, and the practical challenges of adopting non‑blocking approaches in mainstream backend systems.

Connection PoolJDBCJava
0 likes · 9 min read
Why Database Connection Pools Do Not Use IO Multiplexing
IT Architects Alliance
IT Architects Alliance
Dec 9, 2021 · Backend Development

Java NIO Network Programming and Netty Architecture Overview

This article provides a comprehensive overview of Java NIO network programming, explaining BIO, NIO, and AIO models, the core components Channel, Buffer, and Selector, and how Netty leverages the Reactor pattern with multi‑threaded boss and worker groups for high‑performance asynchronous I/O.

JavaNettyNetwork programming
0 likes · 15 min read
Java NIO Network Programming and Netty Architecture Overview
Wukong Talks Architecture
Wukong Talks Architecture
Dec 7, 2021 · Backend Development

Netty Core Concepts and NIO Fundamentals in Java

This article provides a comprehensive overview of Java network programming fundamentals, including socket basics, IO models (BIO, NIO, AIO), NIO core components such as Channel, Buffer, and Selector, and detailed example code for building NIO client‑server applications.

JavaNettyasynchronous-io
0 likes · 28 min read
Netty Core Concepts and NIO Fundamentals in Java
FunTester
FunTester
Aug 17, 2021 · Backend Development

Boost HTTP Client Performance with Java NIO and Async Callbacks

This article explains how Java NIO's non‑blocking I/O can accelerate HTTP interface testing by offloading response handling to separate threads, presents a simple request‑time model, and provides concrete async HttpClient code examples with logging and JSON parsing.

AsyncBackendHTTP
0 likes · 9 min read
Boost HTTP Client Performance with Java NIO and Async Callbacks
Selected Java Interview Questions
Selected Java Interview Questions
Aug 8, 2021 · Backend Development

Understanding Java NIO Buffers: Creation, Core Properties, and Operations

This article explains Java NIO buffers, covering how to create them with allocate() and allocateDirect(), describing their four core properties (position, limit, capacity, mark), and detailing essential methods such as put(), get(), flip(), rewind(), clear(), mark(), reset(), hasRemaining() and remaining() with code examples.

BackendByteBufferJava
0 likes · 12 min read
Understanding Java NIO Buffers: Creation, Core Properties, and Operations
Java Interview Crash Guide
Java Interview Crash Guide
Jul 19, 2021 · Backend Development

Mastering Zero-Copy in Java: Boost Performance with NIO, Netty, and More

Zero-copy techniques eliminate unnecessary data copying between user and kernel space, dramatically improving I/O performance; this article explains core I/O concepts, explores Java implementations like MappedByteBuffer, DirectByteBuffer, channel-to-channel transfers, and demonstrates Netty’s composite buffers, plus examples from Kafka and RocketMQ.

JavaMemory Mapped FilesNetty
0 likes · 14 min read
Mastering Zero-Copy in Java: Boost Performance with NIO, Netty, and More
New Oriental Technology
New Oriental Technology
Jul 5, 2021 · Backend Development

Introduction to Java NIO: Buffers, Channels, and Selectors

This article provides a comprehensive overview of Java NIO, explaining the differences between BIO and NIO, the concepts of synchronous/asynchronous and blocking/non‑blocking I/O, and detailing the usage and implementation of Buffers, Channels, and Selectors with code examples.

ChannelNon-blockingasynchronous-io
0 likes · 10 min read
Introduction to Java NIO: Buffers, Channels, and Selectors
Intelligent Backend & Architecture
Intelligent Backend & Architecture
Apr 30, 2021 · Backend Development

Why Netty Is the Go-To Framework for High‑Performance Java Backend Development

This article explains how Netty, an asynchronous event‑driven Java NIO framework, simplifies building high‑performance, maintainable network servers and clients by handling I/O, threading, and protocol concerns, and it covers its thread models, zero‑copy techniques, common interview questions, and real‑world use cases such as Dubbo and RocketMQ.

AsynchronousJavaNetty
0 likes · 36 min read
Why Netty Is the Go-To Framework for High‑Performance Java Backend Development
Intelligent Backend & Architecture
Intelligent Backend & Architecture
Apr 29, 2021 · Backend Development

Why Netty Is the Go-To Framework for High‑Performance Java Backend Development

This article explains how Netty, an asynchronous event‑driven network framework built on Java NIO, simplifies the creation of high‑performance, scalable web servers and client components by handling I/O streams, connection management, threading, zero‑copy transfers, and offering flexible reactor thread models for various application scenarios.

Backend DevelopmentJavaNetty
0 likes · 39 min read
Why Netty Is the Go-To Framework for High‑Performance Java Backend Development
Programmer DD
Programmer DD
Mar 15, 2021 · Fundamentals

Master Java NIO: From Basics to High‑Performance I/O with Real‑World Examples

This article provides a comprehensive guide to Java NIO, covering its core components—Channel, Buffer, and Selector—explaining the differences from traditional IO, demonstrating file, socket, and server implementations with detailed code samples, and illustrating advanced features such as memory‑mapped files, scatter/gather, and pipe communication.

ChannelFileChannelJava
0 likes · 31 min read
Master Java NIO: From Basics to High‑Performance I/O with Real‑World Examples
Code Ape Tech Column
Code Ape Tech Column
Mar 2, 2021 · Backend Development

A Quick Introduction to Java NIO with Practical Examples

This article explains Java NIO fundamentals—including Channels, Buffers, and Selectors—compares them with traditional IO, and provides multiple runnable code examples such as FileChannel, SocketChannel, Selector loops, memory‑mapped files, scatter/gather, transferTo/From, Pipe and DatagramChannel to illustrate non‑blocking and high‑performance I/O.

ChannelJavaNetworking
0 likes · 31 min read
A Quick Introduction to Java NIO with Practical Examples
Code Ape Tech Column
Code Ape Tech Column
Feb 9, 2021 · Backend Development

Optimizing Java File Compression: From Buffered Streams to NIO Channels and Memory‑Mapped Files

This article demonstrates how to improve Java file compression performance by replacing unbuffered FileInputStream with BufferedInputStream, then leveraging NIO Channels, transferTo, memory‑mapped files, and Pipe, showing step‑by‑step code examples and timing results that reduce processing time from 30 seconds to about 1 second.

File CompressionJavaMemory Mapped Files
0 likes · 11 min read
Optimizing Java File Compression: From Buffered Streams to NIO Channels and Memory‑Mapped Files
Programmer DD
Programmer DD
Dec 1, 2020 · Backend Development

Mastering Zero-Copy in Java: Boost I/O Performance with NIO, Netty & Kafka

Zero-copy techniques eliminate unnecessary data copying between user and kernel space, dramatically improving I/O performance; this article explains core concepts, Java NIO’s MappedByteBuffer and DirectByteBuffer, channel-to-channel transfers, Netty’s composite buffers, and how frameworks like Kafka and RocketMQ leverage zero-copy.

JavaNettyZero Copy
0 likes · 12 min read
Mastering Zero-Copy in Java: Boost I/O Performance with NIO, Netty & Kafka
Top Architect
Top Architect
Nov 15, 2020 · Backend Development

Optimizing Java File Compression: From Buffered Streams to NIO Channels and Memory‑Mapped Files

This article explains how to improve the performance of Java code that compresses multiple images into a zip archive by replacing unbuffered streams with buffered I/O, then using NIO channels, direct buffers, memory‑mapped files, and pipes, achieving a reduction from 30 seconds to about 1 second.

File CompressionJavaMemory Mapped Files
0 likes · 12 min read
Optimizing Java File Compression: From Buffered Streams to NIO Channels and Memory‑Mapped Files
Java Captain
Java Captain
Nov 12, 2020 · Backend Development

Optimizing Java File Compression: From Buffered Streams to NIO Channels, Memory‑Mapped Files and Pipes

This article demonstrates how to dramatically reduce the time required to compress multiple large images in Java by progressively applying buffered streams, NIO channels, direct buffers, memory‑mapped files and pipe techniques, measuring each optimization and explaining the underlying I/O mechanisms.

File CompressionJavaMemory Mapped Files
0 likes · 13 min read
Optimizing Java File Compression: From Buffered Streams to NIO Channels, Memory‑Mapped Files and Pipes
Programmer DD
Programmer DD
Nov 9, 2020 · Backend Development

How to Speed Up Java File Compression: From 30 Seconds to 1 Second with NIO

This article walks through a real‑world Java file‑compression task, shows why a naïve implementation takes 30 seconds for a 20 MB batch, and demonstrates five progressive optimizations—BufferedInputStream, NIO Channel, memory‑mapped files, Pipe, and code snippets—that cut the time down to about one second while explaining the underlying I/O mechanisms.

BufferedInputStreamChannelFile Compression
0 likes · 12 min read
How to Speed Up Java File Compression: From 30 Seconds to 1 Second with NIO
JavaEdge
JavaEdge
Nov 6, 2020 · Backend Development

Understanding Java NIO Channels: Read, Write, and Asynchronous I/O

Java NIO's Channel API offers bidirectional, asynchronous read/write operations using Buffers, with implementations such as FileChannel, DatagramChannel, SocketChannel, and ServerSocketChannel, and the article provides a practical FileChannel example illustrating buffer handling and the essential buf.flip() step.

AsynchronousChannelFileChannel
0 likes · 3 min read
Understanding Java NIO Channels: Read, Write, and Asynchronous I/O
Architecture Digest
Architecture Digest
Oct 21, 2020 · Backend Development

Design and Optimization of Massive Push Services Using Netty

This article analyzes the challenges of large‑scale mobile and IoT push services, presents a real‑world Netty case study, and provides detailed design guidelines—including file‑descriptor tuning, heartbeat handling, buffer management, memory pooling, and JVM/TCP tuning—to build stable, high‑performance backend push systems.

JavaMemory OptimizationPush Service
0 likes · 23 min read
Design and Optimization of Massive Push Services Using Netty
Architecture Digest
Architecture Digest
Oct 6, 2020 · Backend Development

Comparing BIO, NIO, and Asynchronous Models Using a Bank Process Analogy

The article uses a simple bank workflow with ten staff members to illustrate the differences in throughput between BIO (blocking I/O), NIO (non‑blocking I/O), and asynchronous processing, showing how task decomposition and specialized threads dramatically improve performance in backend systems.

AsynchronousBIOBackend
0 likes · 6 min read
Comparing BIO, NIO, and Asynchronous Models Using a Bank Process Analogy
Java Captain
Java Captain
Sep 18, 2020 · Backend Development

Understanding Java I/O: BIO, NIO, Buffers, Channels, and Selectors

This article provides a comprehensive guide to Java I/O, covering traditional BIO streams, the differences between BIO, NIO and AIO, detailed explanations of byte and character streams, buffers, channels, selectors, and practical examples such as file copying and a simple client‑server chat implementation.

BuffersChannelsJava
0 likes · 36 min read
Understanding Java I/O: BIO, NIO, Buffers, Channels, and Selectors
Programmer DD
Programmer DD
Sep 7, 2020 · Backend Development

Boost Server Throughput: From Blocking I/O to NIO and Asynchronous Models

This article uses a bank workflow analogy to compare blocking I/O (BIO), non‑blocking I/O (NIO), and asynchronous processing, showing how task decomposition and specialized threads dramatically increase system throughput while illustrating the trade‑offs of each approach.

AsynchronousI/Onio
0 likes · 6 min read
Boost Server Throughput: From Blocking I/O to NIO and Asynchronous Models
Alibaba Cloud Developer
Alibaba Cloud Developer
Aug 6, 2020 · Backend Development

Mastering Java I/O: From BIO to Netty’s Reactor Model Explained

This article explains the evolution of Java I/O—from blocking BIO to non‑blocking NIO and asynchronous AIO—covers the Reactor pattern and its single‑thread, multi‑thread, and master‑slave models, and details Netty’s thread groups, channel pipeline, and async non‑blocking communication.

BackendI/OJava
0 likes · 13 min read
Mastering Java I/O: From BIO to Netty’s Reactor Model Explained
Architect
Architect
Jul 26, 2020 · Backend Development

Understanding Zero‑Copy in Java: I/O Concepts, mmap, Sendfile, and Netty

This article explains the zero‑copy technique in Java, covering basic I/O concepts, buffer management, mmap + write and Sendfile methods, and how frameworks like NIO, Netty, Kafka, and RocketMQ use these mechanisms to eliminate data copies and improve performance.

JavaNettyZero Copy
0 likes · 11 min read
Understanding Zero‑Copy in Java: I/O Concepts, mmap, Sendfile, and Netty
Programmer DD
Programmer DD
Jul 13, 2020 · Backend Development

Unlocking High-Performance I/O: Java Zero-Copy Techniques Explained

This article explains the principles of zero‑copy I/O, covering buffer concepts, virtual memory, mmap + write and sendfile methods, and demonstrates Java implementations using MappedByteBuffer, DirectByteBuffer, channel‑to‑channel transfers, as well as Netty’s CompositeChannelBuffer for efficient data handling.

JavaNettyZero Copy
0 likes · 15 min read
Unlocking High-Performance I/O: Java Zero-Copy Techniques Explained
Architecture Digest
Architecture Digest
Apr 18, 2020 · Backend Development

Understanding Zero-Copy in Java: Concepts, Implementations, and Netty

This article explains the fundamentals of zero‑copy I/O, covering buffer and virtual memory concepts, Java NIO mechanisms such as MappedByteBuffer and DirectByteBuffer, channel‑to‑channel transfers, and how Netty implements zero‑copy with composite buffers, providing code examples and diagrams for each technique.

JavaNettyZero Copy
0 likes · 14 min read
Understanding Zero-Copy in Java: Concepts, Implementations, and Netty
Java Captain
Java Captain
Apr 7, 2020 · Backend Development

Zero‑Copy Techniques in Java: I/O Concepts, mmap, Sendfile, and Netty

This article explains the zero‑copy principle, describes core I/O concepts such as buffers and virtual memory, and details Java implementations including mmap + write, Sendfile, MappedByteBuffer, DirectByteBuffer, channel‑to‑channel transfer, and Netty’s composite buffers for high‑performance data transfer.

JavaNettyZero Copy
0 likes · 12 min read
Zero‑Copy Techniques in Java: I/O Concepts, mmap, Sendfile, and Netty
Programmer DD
Programmer DD
Mar 12, 2020 · Backend Development

Understanding Java NIO vs IO: Channels, Buffers, and Performance

This article explains the fundamental differences between Java NIO and traditional IO, introduces channels and buffers, describes NIO's internal mechanisms, provides a complete code example, and compares NIO's workflow with Netty's model for high‑performance backend development.

BackendBuffersChannels
0 likes · 11 min read
Understanding Java NIO vs IO: Channels, Buffers, and Performance
Programmer DD
Programmer DD
Mar 8, 2020 · Backend Development

Mastering Java NIO File Locks: Exclusive & Shared Lock Techniques

This tutorial explains how to use Java NIO's FileChannel to acquire exclusive and shared file locks, covering lock types, required channel modes, code examples for FileOutputStream, RandomAccessFile, and FileInputStream, and discusses platform-specific considerations and common exceptions.

Backend DevelopmentFile LockJava
0 likes · 10 min read
Mastering Java NIO File Locks: Exclusive & Shared Lock Techniques
ITFLY8 Architecture Home
ITFLY8 Architecture Home
Mar 7, 2020 · Big Data

How Kafka’s Reactor Thread Model Powers High‑Throughput Messaging

Kafka’s high‑throughput network architecture—built on NIO, a Reactor thread model, and a TCP‑based protocol—evolves from a simple synchronous processor design to a decoupled handler‑pool system, offering valuable lessons for designing scalable backend communication layers in big‑data applications.

High ThroughputKafkaReactor Model
0 likes · 7 min read
How Kafka’s Reactor Thread Model Powers High‑Throughput Messaging
Java Captain
Java Captain
Mar 7, 2020 · Backend Development

Understanding the Netty Server Startup Process

This article explains how Netty initializes and starts a server by detailing the creation of EventLoopGroups, the configuration of ServerBootstrap, the execution of channel(), handler(), childHandler(), and doBind() methods, and the handling of JDK selector bugs, illustrated with code and diagrams.

EventLoopJavaNetty
0 likes · 10 min read
Understanding the Netty Server Startup Process
Big Data Technology & Architecture
Big Data Technology & Architecture
Feb 24, 2020 · Backend Development

Netty Overview: Architecture, Features, and Performance

This article provides a comprehensive introduction to Netty, covering its core concepts, architecture, threading model, zero‑copy mechanisms, serialization options, comparison with JDK NIO and Tomcat, and practical usage scenarios for building high‑performance asynchronous network applications in Java.

AsynchronousNettyNetworking
0 likes · 35 min read
Netty Overview: Architecture, Features, and Performance
macrozheng
macrozheng
Jan 9, 2020 · Backend Development

Unlock High‑Performance Networking: Understanding Netty’s Core Architecture

This article explains how Netty, an asynchronous event‑driven framework built on Java NIO, powers high‑throughput RPC systems by detailing its core components, data handling with ByteBuf, and practical client‑server examples, offering developers a clear roadmap for building efficient distributed services.

AsynchronousBootstrapByteBuf
0 likes · 17 min read
Unlock High‑Performance Networking: Understanding Netty’s Core Architecture
vivo Internet Technology
vivo Internet Technology
Jan 8, 2020 · Backend Development

Analysis and Fix of Tomcat 9.0.26 Deadlock Issue

Tomcat 9.0.26 suffers a high‑concurrency deadlock caused by a lock‑order inversion among NIO poller and executor threads, dropping TPS to zero and creating thousands of CLOSE_WAIT sockets; downgrading to Tomcat 8 or applying the 9.0.31+ patch that moves the close operation into a finally block restores performance to around 15 K TPS.

JavaTomcatdeadlock
0 likes · 6 min read
Analysis and Fix of Tomcat 9.0.26 Deadlock Issue
Architect's Tech Stack
Architect's Tech Stack
Nov 11, 2019 · Backend Development

Optimizing Java File Compression: From Buffered Streams to NIO Channels, Memory‑Mapped Files and Pipes

This article demonstrates how to dramatically speed up Java file compression of multiple images by replacing naive FileInputStream reads with BufferedInputStream, then leveraging NIO Channels with transferTo, memory‑mapped files, and finally Pipe‑based streaming, showing performance improvements from 30 seconds down to about 1 second.

Javacompressionfile-io
0 likes · 10 min read
Optimizing Java File Compression: From Buffered Streams to NIO Channels, Memory‑Mapped Files and Pipes
Java Captain
Java Captain
Oct 4, 2019 · Fundamentals

JDK 11‑13 Enhancements: Switch Expressions, Text Blocks, Dynamic CDS, ZGC Improvements, Socket API Rewrite, New FileSystem Methods, NIO Updates, Time API, I18N, and Feature Removals

This article summarizes the major JDK 11‑13 updates, including switch expression simplifications, multi‑line text block literals, dynamic AppCDS archives, ZGC memory‑release enhancements, a modernized socket API, new FileSystems methods, bulk NIO ByteBuffer operations, the Reiwa era in java.time, Unicode 12.1 support, and several deprecated features that have been removed.

Core LibraryJDKJava
0 likes · 10 min read
JDK 11‑13 Enhancements: Switch Expressions, Text Blocks, Dynamic CDS, ZGC Improvements, Socket API Rewrite, New FileSystem Methods, NIO Updates, Time API, I18N, and Feature Removals
Architect's Tech Stack
Architect's Tech Stack
Oct 3, 2019 · Fundamentals

Detailed Overview of JDK 13 New Features

This article provides a comprehensive English summary of JDK 13's new features—including switch expression enhancements, text‑block syntax, dynamic CDS archives, ZGC memory reclamation, revamped socket APIs, new FileSystems methods, updated NIO ByteBuffer operations, the Reiwa era in java.time, Unicode 12.1 support, GC improvements, security updates, and removed legacy functionalities—accompanied by original Java code examples.

CDSJavaNew Features
0 likes · 11 min read
Detailed Overview of JDK 13 New Features
Java Captain
Java Captain
Jul 6, 2019 · Fundamentals

Understanding Java IO: BIO, NIO, and AIO with Code Examples

This article explains Java's Input/Output mechanisms, detailing the differences between Blocking IO (BIO), Non‑blocking IO (NIO), and Asynchronous IO (AIO), their synchronization models, suitable scenarios, and provides practical code samples for reading and writing files using each approach.

AIOAsynchronousBIO
0 likes · 10 min read
Understanding Java IO: BIO, NIO, and AIO with Code Examples
Didi Tech
Didi Tech
Jun 22, 2019 · Big Data

Analysis of Hadoop RPC Architecture and Implementation

The article examines Hadoop’s RPC framework—detailing its client‑server workflow, core classes (RPC, Client, Server), dynamic proxy handling, NIO‑based server threading, configurable concurrency controls such as FairCallQueue, and a practical HDFS mkdir command example, illustrating high‑performance distributed communication.

Big DataHadoopJava
0 likes · 17 min read
Analysis of Hadoop RPC Architecture and Implementation
Java Captain
Java Captain
May 24, 2019 · Backend Development

Understanding Java Blocking I/O, NIO, and AIO: From Per‑Connection Threads to Multiplexed and Asynchronous I/O

This article explains how traditional per‑connection thread handling (blocking I/O) wastes resources, then demonstrates Java NIO multiplexing and AIO callbacks with complete code examples, showing how they reduce thread usage and eliminate blocking while processing many simultaneous socket connections.

AIOBlocking IOMultiplexing
0 likes · 35 min read
Understanding Java Blocking I/O, NIO, and AIO: From Per‑Connection Threads to Multiplexed and Asynchronous I/O
Architecture Talk
Architecture Talk
May 22, 2019 · Backend Development

Why Netty Dominates Modern High‑Performance Network Development

This article explains Netty’s high‑performance asynchronous NIO architecture, its three‑layer design, I/O and threading models, serialization options, reliability, security features, traffic shaping, and graceful shutdown, showing why it’s the preferred framework for backend and distributed systems.

Network programmingnioperformance
0 likes · 17 min read
Why Netty Dominates Modern High‑Performance Network Development
Liangxu Linux
Liangxu Linux
May 2, 2019 · Backend Development

Step‑by‑Step Guide to Install, Configure, and Optimize Apache Tomcat

This article provides a comprehensive tutorial on installing Apache Tomcat, setting up the required JDK, configuring environment variables, adjusting server ports, and applying performance optimizations such as disabling AJP, switching to NIO, enabling external thread pools, and tuning JVM options for production use.

ConfigurationInstallationJDK
0 likes · 10 min read
Step‑by‑Step Guide to Install, Configure, and Optimize Apache Tomcat