tag netty

標籤
貢獻21
99
05:27 PM · Oct 25 ,2025

@netty / 博客 RSS 訂閱

杜若 - Netty源碼解析-鎖機制

為了提高性能,Netty對鎖也做了大量優化 1、鎖優化技術 Netty大量使用了鎖優化技術: 1.1 減小鎖粒度 1.2 減少鎖對象的空間佔用 1.3 提高鎖的性能 1.4 根據不同業務場景選擇合適鎖 1.5 能不用鎖則不用鎖 1.1 減小鎖粒度 在Netty4.1.15.Final版本中ServerBootstrap.init方法中有兩個地方對對象加鎖,而不是在方法上加一個大鎖,縮

netty

收藏 評論

杜若 - Netty源碼-Server啓動流程

Netty基本介紹,參考 https://juejin.cn/post/7408844429370834954 1、主線程: Netty源碼包的mnetty-example模塊隨便打開一個實現樣例,比如包io.netty.example.echo下的EchoServer,我們從這裏的源碼開始看 Server啓動流程: 創建Selector -》創建ServerSocketChannel -》 初始

netty

收藏 評論

bin的技術小屋 - 時間輪在 Netty , Kafka 中的設計與實現

本文基於 Netty 4.1.112.Final , Kafka 3.9.0 版本進行討論 在業務開發的場景中,我們經常會遇到很多定時任務的需求。比如,生成業務報表,週期性對賬,同步數據,訂單支付超時處理等。針對業務場景中定時任務邏輯複雜,執行時間長的特點,市面上已經有很多成熟的任務調度中間件可供我們選擇。比如:ElasticJob , XXL-JOB , PowerJob 等等。 而在中間件的場

netty , JAVA , kafka

收藏 評論

Seven - 使用Netty框架中的HashedWheelTimer實現高併發定時任務

項目目錄結構 HighConcurrencyTimerProject/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ ├── com/ │ │ │ │ ├── example/ │ │ │ │ │ ├── HighConcurrencyTimerExample.java │ │ │ │

高併發 , 定時任務 , netty , JAVA

收藏 評論

xuxueli - XXL-RPC v1.8.1 | RPC服務框架

Release Notes 1、【安全】序列化安全性增強,默認開啓package安全空間機制; 2、【擴展】序列化擴展性增強,支持自定義序列化package白名單; 3、【優化】序列化類型主動檢測,提升問題定位效率; 4、【能力】服務註冊發現實效性提升,優化long-polling邏輯; 5、【擴展】模塊 xxl-rpc-netty-shade 獨立拆分,與Core模塊解耦; 6、【

rpc , netty , springboot , JAVA

收藏 評論

威哥愛編程 - 2025春招,Netty面試題彙總

大家好,我是 V 哥。2025年春招Java 面試,肯定繞不開 Netty 的相關問題,V哥替大家跟幾位大廠技術主管交流後,整理的一些 2025 年可能會遇到的 Netty 面試題,涵蓋基礎概念、核心組件、性能優化、故障排查等方面,分享給大家,收藏起來備用。 基礎概念類 請簡要介紹一下 Netty 是什麼,以及它的主要應用場景有哪些? 參考答案:Netty 是一個基於 Jav

面試 , netty , JAVA

收藏 評論

程序員Seven - Netty高級使用與源碼詳解

粘包與半包 粘包現象 粘包的問題出現是因為不知道一個用户消息的邊界在哪,如果知道了邊界在哪,接收方就可以通過邊界來劃分出有效的用户消息。 服務端代碼 public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start

netty , JAVA , 後端

收藏 評論

JackJiang - 全面適配iOS 26液態玻璃,基於開源IM即時通訊框架MobileIMSDK:RainbowChat-iOS端v10.2發佈

1、MobileIMSDK開源工程 MobileIMSDK是一套專門為移動端開發的開源IM即時通訊框架,超輕量級、高度提煉,一套API優雅支持UDP、TCP、WebSocket三種協議,支持iOS、Android、H5、小程序、Uniapp、標準Java平台,服務端基於Netty編寫。 工程同步開源地址: ❶GitHub:https://github.com/JackJiang2011/Mo

im , netty , 即時通訊

收藏 評論

Aresxue - 過早優化是萬惡之源——聊聊FastThreadLocal的Cache line padding

💡 過早優化是萬惡之源。 ——Tony Hoare 作為軟件開發人員的一句名言,相信絕大多數小夥伴都有聽聞過這句名言,而我在最近閲讀netty源碼的時候就見識了這麼一個有趣的例子。 Netty是一個用於構建高性能、可伸縮的網絡應用程序的異步事件驅動框架。它主要關注在網絡通信、協議處理和高性能的特性上,是一個基於Java的開源框架。Netty的設計目標是提供簡單而強大的 API,使得開發者能夠輕鬆

編程 , netty , JAVA

收藏 評論

bin的技術小屋 - Netty 如何自動探測內存泄露的發生

本文基於 Netty 4.1.112.Final 版本進行討論 本文是 Netty 內存管理系列的最後一篇文章,在第一篇文章 《聊一聊 Netty 數據搬運工 ByteBuf 體系的設計與實現》 中,筆者以 UnpooledByteBuf 為例,從整個內存管理的外圍對 ByteBuf 的整個設計體系進行了詳細的拆解剖析,隨後在第二篇文章 《談一談 Netty 的內存管理 —— 且看 Netty 如

內存管理 , 內存泄露 , netty , JAVA , 後端

收藏 評論

杜若 - Netty源碼解析-請求處理與多路複用

NioEventLoop是什麼? 如圖,NioEventLoop是worker threads中的thread,也就是處理請求的線程,屬於NioEventLoopGroup,那麼多個線程每次選擇哪個線程來處理請求呢? 1.1 Netty給Channel分配Nio Event Loop的規則 看下圖,EventLoopGroup是線程組,每個EventLoop是一個線程,那麼線程處理請求是怎麼分配

netty

收藏 評論

杜若 - Netty源碼解析-響應式實現(Reactor模式)

Netty基本介紹,請參考juejin.cn/post/740884… 1、Netty如何支持Reactor模式 1.1 主從Reactor模式 實現這種模式需要定義兩個EventLoopGroup,bossGroup就是mainReactor, workerGroup就是subReactor, 接着我們進入下圖的b.group方法 1.1.2 進入ServerBootstrap.group方

netty

收藏 評論

杜若 - Netty源碼-責任鏈模式運用

Netty基本介紹,參考juejin.cn/post/740884… 1、Netty的責任鏈模式 1.1 責任鏈模式實現樣例 基於上圖,寫一個責任鏈模式的案例如下: 從下面的例子我們可以知道,責任鏈模式包含下面幾個重要的部分: HandlerChainContext:hander上下文,也就是責任鏈中的節點,持有一個handler,並有指向下一個節點的指針 Handler: 責任處理器

netty

收藏 評論

杜若 - Netty源碼解析-零拷貝

這是Netty的一個重要優化,為了解決I/O操作速度影響性能,採用零拷貝的技術 1、零拷貝 sendFile(Kafka也是用該技術優化性能):發送文件描述符,如果硬件支持,圖二的文件緩衝區和Socket緩衝區可以共享,只需要兩次DMA拷貝就可以 1.1 源碼DefaultFileRegion.transferto()方法 我們看一下源碼,Netty的文件傳輸零拷貝方法就是該方法,方法下面圈出來

netty

收藏 評論

杜若 - Netty源碼解析-底層原理及IO模式

1、Netty源碼編譯 我們看一下版本4.1.40.Final-SNAPSHOT源碼包,可以把源碼pull到本地,用IDEA打開。 github地址:https://github.com/netty/netty 包含的模塊如下圖: 2、Netty 源碼核心包 2.1 Netty源碼核心包主要分成下面幾塊: 1、工具類 下圖紅色的模塊,如buffer、common、resolver 2、底層協議(

netty

收藏 評論

杜若 - Netty與網絡編程

要了解Netty,必須先了解網絡編程 1 網絡編程 1.1 網絡IO模型 1.1.1 網絡三種I/O模型分類: BIO:(同步 阻塞)jdk1.4以前 java.io包 NIO:(同步 非阻塞)jdk1.4 java.nio包 AIO:(異步 非阻塞)jdk1.7 java.nio包 1.1.2 BIO、NIO、AIO處理模式 1)BIO:一個連接一個線程,客户端有連接請求時服務器端

netty

收藏 評論

杜若 - Netty對處理粘包和半包的支持

1.1 什麼是粘包拆包 例如:發送 ABC, DEF兩個報文 收到ABCDEF一個報文,發生了粘包 收到AB,C,DEF三個報文,ABC發生了拆包 收到AB,CD,EF三個報文,即發生了拆包又發生了粘包 1.2 看一個粘包半包樣例 客户端每次把消息“ABC,DEF,GHI,JKL,MNO\n" 發生一百次給服務端 服務端將每次收到的消息輸出,並記錄收到的次數,然後將消息返回客户端

netty

收藏 評論

bin的技術小屋 - 小小的引用計數,大大的性能考究

本文基於 Netty 4.1.56.Final 版本進行討論 在上篇文章《聊一聊 Netty 數據搬運工 ByteBuf 體系的設計與實現》 中,筆者詳細地為大家介紹了 ByteBuf 整個體系的設計,其中筆者覺得 Netty 對於引用計數的設計非常精彩,因此將這部分設計內容專門獨立出來。 Netty 為 ByteBuf 引入了引用計數的機制,在 ByteBuf 的整個設計體系中,所有的 Byt

netty , JAVA , 後端

收藏 評論

杜若 - Netty源碼解析-零拷貝

摘要 Netty源碼系列-Netty如何使用零拷貝 1、零拷貝 Netty為了加快文件傳輸速度,採用了零拷貝技術。 sendFile(Kafka也是用該技術優化性能):發送文件描述符,如果硬件支持,圖二的文件緩衝區和Socket緩衝區可以共享,只需要兩次DMA拷貝就可以 1.1 、源碼DefaultFileRegion.transferto()方法 我們看一下源碼,Netty的文件傳

netty

收藏 評論

杜若 - Netty源碼解析-請求處理與多路複用

摘要 Netty源碼系列-NioEventLoop 1.1 Netty給Channel分配Nio Event Loop的規則 看下圖,EventLoopGroup是線程組,每個EventLoop是一個線程,那麼線程處理請求是怎麼分配的呢?我們看一下源碼 1.1.1 MultithreadEventLoopGroup.register方法 該方法是EventLoop註冊Channel的方法,

netty

收藏 評論

bin的技術小屋 - 聊一聊 Netty 數據搬運工 ByteBuf 體系的設計與實現

本文基於 Netty 4.1.56.Final 版本進行討論 時光芿苒,歲月如梭,好久沒有給大家更新 Netty 相關的文章了,在斷更 Netty 的這段日子裏,筆者一直在持續更新 Linux 內存管理相關的文章 ,目前為止,算是將 Linux 內存管理子系統相關的主幹源碼較為完整的給大家呈現了出來,同時也結識了很多喜歡內核的讀者,經常在後台留言討論一些代碼的設計細節,在這個過程中,我們相互分享,

netty , JAVA

收藏 評論

威哥愛編程 - 【讀源碼】Netty框架Future模式源碼深度剖析

Netty 是一個高性能的網絡編程框架,廣泛用於構建高性能、高可靠性的網絡服務器和客户端程序。它的核心特性之一是其異步編程模型,而這種模型是通過 Future 模式實現的。 Netty 中的 Future 模式 在 Netty 中,Future 是一個非常重要的概念,它代表了一個可能尚未完成的異步操作。Netty 的 Future 接口繼承自 Java 的 java.util.concurrent

future , java-ee , netty入門 , netty , JAVA

收藏 評論

威哥愛編程 - Netty的源碼分析和業務場景

Netty 是一個高性能、異步事件驅動的網絡應用框架,它基於 Java NIO 構建,廣泛應用於互聯網、大數據、遊戲開發、通信行業等多個領域。以下是對 Netty 的源碼分析、業務場景的詳細介紹: 源碼概述 Netty 的核心組件:Netty 的架構設計圍繞着事件驅動的核心思想,主要包括 Channel、EventLoopGroup、ChannelHandlerContext 和 Channe

java-ee , netty , JAVA

收藏 評論

站在巨人的肩上 - WebSocketServerProtocolHandler是如何實現將網絡數據解碼成WebSocketFrame的

WebSocketServerProtocolHandler的本質是MessageToMessageDecoderWebSocketFrame,也就是別的handler把數據轉成WebSocketFrame之後,數據到它這兒,他才能處理,但是demo代碼裏沒有手動添加一個將ByteBuf轉成WebSocketFrame的handler,這個問題好像通義也沒有收錄,最終在chatgpt4o那裏找

websocket , netty , decoder

收藏 評論