• Netty源码全解与架构思维
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

Netty源码全解与架构思维

66.2 5.2折 128 全新

仅1件

河北保定
认证卖家担保交易快速发货售后保障

作者黄俊

出版社清华大学出版社

出版时间2023-01

版次1

装帧其他

货号9787302624981

上书时间2024-11-12

尚贤文化山东分店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
图书标准信息
  • 作者 黄俊
  • 出版社 清华大学出版社
  • 出版时间 2023-01
  • 版次 1
  • ISBN 9787302624981
  • 定价 128.00元
  • 装帧 其他
  • 开本 16开
  • 纸张 胶版纸
  • 页数 516页
  • 字数 861千字
【内容简介】
Netty是目前市面上使用率较高的网络编程库。它的架构设计非常明确且层次分明,源码较为易懂,其中包装了Java NIO(New IO,新IO)的三大组件:Selector、Channel、ByteBuffer,提供了简单易用高效的网络通信库,其中还实现了自己的内存池管理。Netty的设计基于Jemalloc内存管理库,同时也实现了很多开封即用的应用层协议编码与解码器。本书通过常用的TCP协议完整诠释了Netty的架构设计与思想,省略了Java语言层面的一些基础知识,例如变量、面向对象、泛型等Java SE的基础。 本书适用于以下读者:希望进入互联网公司工作的读者、研究Netty底层知识的读者、在工作中遇见瓶颈,希望通过学习Netty提升底层知识的读者、从事开发高并发支撑中间件的读者、从事互联网高并发业务支撑的读者、对多线程编程感兴趣的读者、希望通过Netty源码找到调优点的读者。
【作者简介】
黄俊

专注于研究Java语言

专注于研究Hotspot

专注于研究Linux内核

专注于研究C语言与汇编

专注于研究架构设计

专注于研究多线程并发处理

专注于研究高效学习方式

曾就职于美团、阿里

前新东方业务架构师
【目录】
第1篇 Netty世界漫游与Java网络编程回顾

第1章Java网络编程

1.1Socket 介绍

1.2Socket 编程

1.2.1Java客户端编程

1.2.2Java服务端编程

1.2.3C语言服务端编程

1.3BIO 编程

1.4NIO 编程

1.4.1NIO模型原理

1.4.2Buffer 原理 

1.4.3Channel 原理 

1.4.4Selector 原理 

1.5AIO 编程 38

1.5.1JavaAIO 描述 

1.5.2JavaAIO 实例 

1.5.3AsynchronousServerSocketChannel.open()原理 

1.5.4Asynchronous ServerSocketChannel.bind原理 52

1.5.5ServerSocketChannel.accept(null, new

AcceptHandler0)原理 

1.5.6socketChannel.read(byteBuffer, byteBuffer,new ReadHandler。)原理 

1.5.7Linux服务端网络编程 

1.5.8Linux客户端网络编程 

1.5.9Java AIO 涉及的 Native JNI 实现 

第2章 mmap网络编程与sendfile原理

2.1transferTo 方 法 

2.1.1transferTo 方法定义 

2.1.2transferTo方法实现原理 

2.1.3transferToDirectly 方法 

2.1.4transferToTrustedChannel 方法 

2.1.5transferToArbitraryChannel 方法 

2.2JVM层面零复制原理 

2.2.1transferToO 方法 

2.2.2mapO 方法 

2.3sendfile方法 

第3章Linux epoll实现原理 

3.1三大函数原型 

3.2epoll event 与 epoll data 对象 

3.3边缘触发与水平触发 

3.4使用示例 

3.5三大函数内核原理 

第4章Netty架构与源码组成 

4.1Netty 是什么 

4.2Netty架构组成 

4.3Netty三大基础模块 

4.3.1事件循环模块 

4.3.2内存池模块 

4.3.3通道处理器模块 

4.4Netty源码组成 

第2篇 事件驱动层

第 5 章 JDK Executor 原理 

5.1Executor 接口 

5.2ExecutorService 接 口 

5.3AbstractExecutorService 抽象类 

5.4ScheduledExecutorService 接口 

第 6 章 EventExecutor 与 EventExecutorGroup原理 

6.1EventExecutorGroup 类 

6.2EventExecutor 接口 

6.3AbstractEventExecutorGroup 方法 

6.4MultithreadEventExecutorGroup类 

6.4.1核心变量与构造器 

6.4.2EventExecutorChooserFactory与DefaultEventExecutorChooserFactory

6.4.3ThreadPerT askExecutor 类 

6.4.4DefaultThreadFactory 类 

6.4.5F astThreadLocalThread 类 

6.4.6FastThreadLocal 类 

6.4.7shutdownGracefully 方法 

6.4.8awaitT ermination 方法 

6.5DefaultEventExecutorGroup 类 

6.6AbstractEventExecutor 类 

6.7AbstractScheduledEventExecutor方法 

6.8SingleThreadEventExecutor 类 

6.8.1核心变量与构造器 

6.8.2execute核心方法实现 

6.8.3addTask 核心方法 

6.8.4startThread 核心方法 

6.8.5confirmShutdown 核心方法 

6.8.6nmAllTasks 核心 方法 

6.8.7runShutdownHooks 核心方法 

6.8.8awaitTerminatkm 核心方法 

6.8.9takeTask 核心方法 

6.8.10shutdownGracefully 核心方法 

6.9 DefaultEventExecutor 

第 7 章 EventLoop 与 EventLoopGroup原理 

7.1EventLoopGroup 接口与 EventLoop接口 

7.1.1EventLoopGroup 接口 

7.1.2EventLoop 接口 

7.2MultithreadEventLoopGroup 原理 

7.3DefaultEventLoopGroup 原理 

7.4NioEventLoopGroup 类 

7.5ThreadPerChannelEventLoopGroup原理 

7.5.1核心变量与构造器 

7.5.2newChild 核心方法 

7.5.3next 核心方法 

7.5.4shutdownGracefully 核心方法 

7.5.5awaitT ermination 核心方法 

7.5.6register 核心方法 

7.5.7nextChild 核心方法 

7.6OioEventLoopGroup 类 

7.7SingleThreadEventLoop 原理 

7.7.1核心变量与构造器 

7.7.2next 核心方法 

7.7.3executeAfterEventLoopIteration 核心方法

7.7.4afterRunningAllT asks 核心方法

7.7.5register 核心方法

7.7.6hasTasks 核心方法

7.7.7pendingTasks 核心方法

7.8NioEventLoop 

7.8.1核心变量与构造器 

7.8.2run 核心方法 

7.8.3select 核心方法 

7.8.4rebuildSelector核心方法 

7.8.5processSelectedKeys 核心方法 

7.8.6processSelectedKey 核心频道方法

7.8.7processSelectedKey 核心任务方法

7.9ThreadPerChannelEventLoop 类 

第8章 Future与Promise原理 

8.1Future接口

8.2GenericFutureListener与FutureListener接口

821 GenericFutureListener 接口 

8.2.2FutureListener 接口 

8.3AbstractFuture 接口 

8.4ChannelGroupFuture接口

8.5GenericProgressiveFutureListener监听器

8.6ChannelFuture接口

8.7Promise接口

8.8DefaultPromise 接口

8.8.1核心变量与构造器

8.8.2await 核心方法

8.8.3awaitUninterruptibly 核心方法

8.8.4cancel 核心方法

8.8.5sync 核心方法

8.8.6syncUninterruptibly 核心方法 

8.8.7setSuccess 核心方法

8.8.8setFailure 核心方法

8.8.9trySuccess 核心方法

8.8.10tryFailure 核,山方法

8.8.11addListener 核心方法

8.8.12notifyListeners 核心方法

8.8.13notifyListenersNow 核心方法 

8.8.14notifyListenersO 核心方法

8.8.15notifyProgressiveListeners 核心方法

8.8.16progressiveListeners 核心方法

8.8.17notify ProgressiveListener 核心方法

8.9ChannelPromise 接口

8.9.1DefaultChannelPromise类

8.9.2DefaultChannelGroupFuture 类

第3篇内存管理层

第9章 ByteBuf与衍生类原理

9.1ByteBuf原理

9.1.1构造器与核心变量

9.1.2ReferenceCounted 接口

9.2AbstractByteBuf 原理

921核心变量与构造器

9.2.2writeByte 核心方法

9.2.3writeBytes 核心方法

9.2.4readByte核心方法

9.2.5readBytes 核心方法

9.2.6writeZero 核心方法

9.2.7discardReadBytes 核心方法

9.3AbstractReferenceCountedByteBuf类

9.4UnpooledHeapByteBuf类

9.4.1核心变量与构造器

942getByte 核心方法

943getBytes 核心方法

9.4.4setByte 核心方法

9.4.5setBytes 核心方法

9.4.6setShort 核心方法

9.4.7capacity 核心方法

9.4.8nioBuffer 核心方法

9.5UnpooledUnsafeHeapByteBuf类

9.6UnpooledDirectByteBuf 原理

9.6.1核心变量与构造器

9.6.2setByte 核心方法

9.6.3setBytes 核心方法

9.6.4getByte 核心\'方法

9.6.5getBytes 核心方法

9.6.6capacity 核心方法

9.6.7freeDirect 核心方法

9.7UnpooledUnsafeDirectByteBuf 方法

9.8UnpooledUnsafeNoCleanerDirectByteBuf类

9.9PooledByteBuf原理

9.9.1init 核心方法

9.9.2initUnpooled核心方法

9.9.3 reuse核心方法

9.9.4capacity 核方法

9.9.5deallocate 核心方法

996 recycle 核心方法

第10章 Netty对象池原理

10.1Recycler 原理

10.1.1核心构造器与变量

10.1.2Handle 核心接口

10.1.3Stack 核心类

10.1.4WeakOrderQueue 核心类

10.2PooledHeapByteBuf 原理

10.3PooledUnsafeHeapByteBuf类

10.4PooledDirectByteBuf 类

10.5CompositeByteBuf 原理

10.5.1核心变量与构造器

10.5.2addComponents 核心方法

10.5.3addComponent 核心方法

10.5.4removeComponent 核心方法

10.5.5removeComponents 核心方法

10.5.6capacity 核心方法

10.5.7decompose 核心方法

10.5.8findComponent 核心 方法

10.5.9getByte 核心方法

10.5.10setByte 核心方法

10.6WrappedByteBuf 类

10.7SimpleLeakAwareByteBuf 类

10.8AdvancedLeakAwareByteBuf 类

10.9 WrappedCompositeByteBuf 类

10.10SimpleLeakAwareCompositeByteBuf类

10.11AdvancedLeakAwareCompositeByteBuf类 

10.12ResourceLeak 接口

10.13ResourceLeakDetector 类

10.13.1核心变量与构造器

10.13.2newRecord 核方法

10.13.3open 核心方法

10.13.4reportLeak 核心方法

10.13.5reportXLeak 核心方法

第11章 Netty内存池原理

11.1ByteBufAllocator

11.2AbstractByteBufAllocator 类

11.2.1核心变量与构造器

11.2.2buffer 核心方法

11.2.3ioBuffer 核心方法

11.2.4compositeBuffer 核心方法

11.2.5toLeakAwareBuffer 核心方法

11.2.6calculateN ewCapacity 核心方法

11.3UnpooledByteBufAllocator 类

11.4PooledByteBu£A.llocator 类

11.4.1核心变量与构造器

11.4.2newHeapBuffer 核心方法

11.43 newDirectBuffer 核心方法

11.4.4PoolThreadLocalCache 核心内部类

11.5PoolThreadCache 类

11.5.1核心变量和构造器

11.5.2createSubPageCaches 核心方法

11.5.3createNormalCaches 核心方法

11.5.4MemoryRegionCache 核心内部类

11.5.5SubPageMemoryRegionCache 核心内部类

11.5.6NormalMemoryRegionCache 核心内部类

11.5.7allocateTiny 核心方法

11.5.8cacheForSmall 核心方法

11.5.9cacheForNormal 核心方法

11.5.10allocate 核心方法

11.5.11trim 核心方法

11.5.12帳核心方法

11.6PoolArena 类 

11.6.1核心变量与构造器

11.6.2HeapArena 核心内部类

11.6.3DirectArena 核心内部类

11.6.4allocate 核心方法

11.6.5normalizeCapacity 核心方法

11.6.6allocateNormal 核心方法

11.6.7allocateHuge 核心方法

11.6.8findSubpagePoolHead 核心方法

11.6.9free 核心方法

11.6.10freeChunk 核心方法

11.7PoolChunkList 类

11.8PoolSubpage 类

11.9PoolChunk 原理

11.9.1核心变量与构造器

11.9.2allocate 核心方法

11.9.3allocateRun 核心方法

11.9.4allocateNode 核心方法

11.9.5updateParentsAlloc 核心方法

11.9.6allocateSubpage 核心方法

11.9.7Me核心方法

11.9.8updateParentsFree 核心方法

11.9.9initBuf 核心方法

11.9.10initBufWithSubpage 核心方法

第4篇通道管理层

第 12 章 Netty Channel 层原理

12.1ChannelOutboundlnvoker 接口

12.2Channellnboundinvoker 接口

12.3Channel 通道接口

12.4ServerChannel 服务端

12.5ChannelMetadata 类

12.6ChannelOutboundBuffer 通道输出缓冲区

12.6.1核心变量与构造器

12.6.2Entry核心内部类

12.6.3addMessage 核心方法

12.6.4addFlush 核心方法

12.6.5current 核心方法

12.6.6progress 核心方法

12.6.7remove 核心方法

12.6.8removeBytes 核心方法

12.6.9nioBufifers 核心方法

12.6.10Writable可写标志位原理

12.6.11close 核心方法

12.6.12bytesBeforeUnwritable 核心方法

12.6.13bytesBeforeWritable 核心方法

12.7RecvByteBu£A.llocator 接收缓冲区分配器

12.7.1RecvByteBufA.llocator 接口

12.7.2MaxMessagesRecvByteBufAllocator接口

12.7.3DefaultMaxMessagesRecvByteBufAllocator类

12.7.4AdaptiveRecvByteBufAllocator 分配器

12.7.5FixedRecvByteBufAllocator 分配器

12.8Abstractchannel 类

12.8.1核心变量与构造器

12.8.2实现方法原理

12.8.3AbstractUnsafe 核心内部类

12.8.4核心变量与构造器

12.8.5recvBufMlocHandle 核心方法

12.8.6localAddress 与 remoteAddress 核心方法

12.8.7register 核心方法

12.8.8registerO 核心方法

12.8.9beginRead 核心方法

12.8.10bind 核心方法

12.8.11disconnect 核心方法

12.8.12close 核心方法

12.8.13closeForcibly 核心方法

12.8.14deregister 核心方法

12.8.15write 核心方法

12.8.16flush 核心方法

12.8.17CloseFuture 核心内部类

12.9AbstractServerChannel 类

12.10LocalChannel 类

12.10.1核心变量与构造器

12.10.2doRegister 核心方法

12.10.3doBind 核心方法

12.10.4doDiscoimect核心方法

12.10.5doBeginRead核心方法

12.10.6doWrite 核心方法

12.10.7LocalUnsafb 核心内部类

12.11LocalServerChannel 类

12.12AbstractOioChannel 类

12.13AbstractOioByteChannel 类

12.14OioByteStreamChannel 类

12.15OioSocketChannel 类

12.16AbstractOioMessageChannel 原理

12.17OioServerSocketChannel 类

12.18AbstractNioChannel NIO 模板类

12.18.1核心变量与构造器

12.18.2doRegister 核心方法

12.18.3doDeregister 核心方法

12.18.4doBeginRead核心方法

12.18.5newDirectBuffer核心方法

12.18.6doClose核心方法

12.18.7AbstractNioUnsafe 核心内部类

12.19AbstractNioByteChannel NIO 客户端模板类

12.19.1核心变量与构造器

12.19.2doWrite 核心方法

12.19.3filterOutboundMessage 核心方法

12.19.4NioByteUnsafe 核心内部类

12.20NioSocketChannel NIO TCP 客户端实现类

12.20.1核心变量与构造器

12.20.2isActive 核心方法

12.20.3shutdowninput 核心方法

12.20.4shutdownOutput 核心方法

12.20.5shutdown 核心方法

12.20.6doBind 核心方法

12.20.7doConnect核心方法

12.20.8doClose 核心方法

12.20.9doReadBytes 核心方法

12.20.10doWriteBytes 核心方法

12.20.11doWriteFileRegion 核心方法

12.20.12doWrite 核心方法

12.20.13NioSocketChannelUnsafe 核心内部类

12.21AbstractNioMessageChannel NIO 服务端模板类原理

12.22NioServerSocketChannel NIO TCP 服务端实现类原理

第13章Netty通道流水线与通道处理器原理

13.1ChannelPipeline 接口 

13.2ChannelHandlerContext 接口

13.3ChannelHandler 接口

13.4ChannellnboundHandler 接口

13.5ChannelOutboundHandler 接  

13.6AbstractChannelHandlerContext模板类

13.6.1核心变量与构造器

13.6.2fireChannelRegistered 核心方法

13.6.3fireChannelUnregistered 核心方法

13.6.4fireChannelActive 核心方法

13.6.5invokeChannellnactive 核心方法

13.6.6fireExceptionCaught 核心方法

13.6.7fireUserEventTriggered 核心方法

13.6.8fireChannelRead核心方法

13.6.9fireChannelReadComplete 核心方法

13.6.10fireChannelWritabilityChanged 核心方法

13.6.11bind 核心方法

13.6.12connect 核心方法

13.6.13disconnect 核心方法

13.6.14close 核心方法

13.6.15deregister 核心方法

13.6.16read 核心方法

13.6.17write 核心方法

13.6.18flush 核心方法

13.6.19writeAndFlush 核心方法

13.6.20AbstractWriteTask 核心内部类

13.6.21WriteTask 核心内部类

13.6.22WriteAndFlushTask 核心内部类

13.7ChannelHandlerAdapter 抽象类

13.8DefaultChannelPipeline 类

13.8.1核心变量与构造器

13.8.2newContext 核心方法 

13.8.3addFirst 核心方法

13.8.4addLast 核心方法

13.8.5addBefbre 核心方法

13.8.6addAfter 核心方法

13.8.7remove 核心方法

13.8.8removeFirst 核心方法

13.8.9removeLast 核心方法 

13.8.10replace核心方法

13.8.11destroy核心方法

13.8.12TailContext核心内部类

13.8.13HeadContext 核心内部类

13.8.14write 核心方法

13.8.15fireChannelRead 核心方法

13.9ChannellnboundHandlerAdapter抽象类

13.10SimpleChannellnboundHandler处理器类

13.11Channellnitializer 类

13.12ChannelOutboundHandlerAdapter抽象类

13.13ChannelDuplexHandler 处理器

13.14通道与通道处理器小结

第14章Netty解码器与编码器

14.1ByteT oMessageDecoder 解码器

14.1.1核心变量与构造器

14.1.2channelRead 核心方法

14.1.3handlerRemoved 核心方法

14.1.4channelReadComplete 核心方法

14.1.5channellnactive 核心方法

14.1.6userEventT riggered 核心方法

14.2MessageToByteEncoder 编码器

14.3MessageToMessageDecoder 解码器

14.4MessageToMessageEncoder 编码器

14.5ByteToMessageCodec 双端编码器原理

14.6MessageToMessageCodec 双端编码器原理

14.7编码器小结

14.8HttpObjectDecoder 解码器和HttpRequestDecoder 解码器 

14.9HttpObjectEncoder 编码器和HttpContentEncoder 编码器 

14.10MessageAggregator 消息对象聚合器

14.11HttpObj ectAggregator 聚合器 

14.12TCP粘包原理

14.13DelimiterBasedFrameDecoder解码器

14.14FixedLengthFrameDecoder 类

14.15LengthFieldBasedFrameDecoder解码器

14.16LineBasedFrameDecoder 解码器 

14.17ReplayingDecoder 解码器
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP