原创 Netty源碼分析-PoolThreadCache

    final class PoolThreadCache { final PoolArena<byte[]> heapArena; final PoolArena<ByteBuffer> directArena

原创 Netty源碼分析-PoolChunk

        上圖中是一個默認大小的chunk, 由2048個page組成了一個chunk,一個page的大小爲8192, chunk之上有11層節點,最後一層節點數與page數量相等。每次內存分配需要保證內存的連續性,這樣才能簡單的

原创 Netty源碼分析-MultithreadEventExecutorGroup

  MultithreadEventExecutorGroup public abstract class MultithreadEventExecutorGroup extends AbstractEventExecutorGrou

原创 Netty-源碼分析DelimiterBasedFrameDecoder

DelimiterBasedFrameDecoder自定義分隔符解碼器   package io.netty.handler.codec; import static io.netty.util.internal.ObjectUti

原创 Netty源碼分析-PoolChunkList

前面我們介紹了PoolChunk以及針對page的更細粒度的PoolSubpage,其實在chunk的上層還有一個管理類:PoolChunkList,PoolChunkList負責管理多個chunk的生命週期,在此基礎上對內存分配進行進一

原创 Netty源碼分析-NioEventLoop(二)

NioEventLoop源碼分析。 EventLoop的本質:內部一個線程,一個有序隊列存儲,線程源源不斷的運行隊列中的任務。   register方法把java-nio的channel註冊到selector上面。 //把JAV

原创 Netty源碼分析-MessageToMessageDecoder

  package io.netty.handler.codec; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelInbo

原创 Netty源碼分析-Bootstrap客戶端連接過程

  Netty源碼分析-Bootstrap客戶端連接過程 下面是客戶端連接模板代碼 public static void main(String[] args) throws Exception { EventLoop

原创 Netty源碼分析-PoolArena

1、PoolChunk:維護一段連續內存,並負責內存塊分配與回收,其中比較重要的兩個概念:page:可分配的最小內存塊單位;chunk:page的集合; 2、PoolSubpage:將page分爲更小的塊進行維護; 3、PoolChunk

原创 Netty源碼分析-PromiseCombiner

  這個類的作用是用戶傳遞一個消息和一個Promise對象,但是實際編碼時把一個消息轉化爲多個消息輸出,那麼實際會生成多個Promise對象,PromiseCombiner的作用就是代理用戶傳遞的Promise,當所有消息輸出操作完成時,

原创 Netty源碼分析-MessageToByteEncoder

MessageToByteEncoder是一個抽象編碼器,子類可重新encode方法把對象編碼爲ByteBuf輸出。   源碼分析 package io.netty.handler.codec; import io.netty.bu

原创 Netty源碼分析-NioByteUnsafe(read讀取流程)

NioByteUnsafe封裝了NioSocketChannel讀取底層數據的流程。 NioEventLoop負責監聽Selector上所有的事件,當發生事件時根據事件類型調用Channel的UnSafe中的方法去處理。 privat

原创 JWT-JAVA簡單測試用例

    package com.ht.web.util; import com.auth0.jwt.JWT; import com.auth0.jwt.JWTVerifier; import com.auth0.jwt.algorit

原创 Netty源碼分析-HttpObjectEncoder

    /* * Copyright 2012 The Netty Project * * The Netty Project licenses this file to you under the Apache License,

原创 Netty源碼分析-HttpObjectDecoder

  /* * Copyright 2012 The Netty Project * * The Netty Project licenses this file to you under the Apache License,