搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Netty源码全解与架构思维
0.00     定价 ¥ 128.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302624981
  • 作      者:
    作者:黄俊|责编:贾旭龙
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2023-01-01
收藏
编辑推荐

Netty 提供了一个简单但强大的对象,称为“通道”(Channel)。它提供了一种方便的方法来表示网络连接,这使得网络应用程序的开发变得更加容易。Netty 还提供了一套灵活的处理器(Handler)框架,使得可以将业务逻辑从网络层解耦出来,并且支持高度定制的处理器链,以满足各种需求。此外,Netty 还提供了一组高性能的编解码器,用于方便地处理各种数据格式和协议。

总的来说,如果你正在开发网络应用程序并寻找一种高性能、易于使用、可扩展的框架,那么 Netty 将是一个非常好的选择。


展开
作者简介

黄俊

专注于研究Java语言

专注于研究Hotspot

专注于研究Linux内核

专注于研究C语言与汇编

专注于研究架构设计

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

专注于研究高效学习方式

曾就职于美团、阿里

前新东方业务架构师


展开
内容介绍
Netty是目前市面上使用频率较高的网络编程库。它的架构设计非常明确并且层次分明,源码较为易懂,其中包含了Java NIO(New IO,新IO)的三大组件:Selector(选择器)、Channel(通道)、ByteBuffer(缓冲区),提供了简单、易用、高效的网络通信库,还实现了自己的内存池管理。它的思想基于Jemalloc内存管理库来设计,也提供了很多开封即用的应用层协议编码与解码器。同时,笔者在调研市场后发现,市场上需要一本Netty的书,将Netty的核心骨架源码和架构思想进行统一的描述,帮助读者通过该书掌握所有难点、重点的代码。本书剥离其他诸如UDP协议处理等不常用的源码,在减少篇幅的同时,通过常用的TCP协议完整诠释了Netty的架构设计与思想。由于本书内容必不可少地涉及NIO、线程模型、网络编程的知识,本书并没有介绍Java语言层面的一些基础知识,例如变量、面向对象、泛型等Java SE的基础,读者只要拥有Java语言的基础,阅读本书并没有太大的难度。 本书适用于以下读者:希望进入互联网公司工作的读者,研究Netty底层知识的读者,在工作中遇见瓶颈、希望通过学习Netty提升底层知识的读者,从事开发高并发支撑中间件的读者,从事互联网高并发业务支撑的读者,对多线程编程感兴趣的读者,以及希望通过Netty源码找到调优点的读者。
展开
目录

第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 核心方法


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证