- 博客(5)
- 资源 (18)
- 收藏
- 关注
原创 Netty4之IO模型及线程模型
本文是基于Netty4.1.x,Netty作为异步事件驱动的网络,高性能之处主要来自于其I/O模型和线程处理模型,前者决定如何收发数据,后者决定如何处理数据。 一、I/O模型 用什么的通道将数据发送给对方,BIO(Blocking I/O)、NIO(Nonblocking I/O)或AIO,I/O模型在很大程度上决定了框架的性能。 传统阻塞型I/O(BIO)特点:每个请求都需要独立的线程完...
2019-09-26 10:46:28 1090
原创 Netty4之处理链
本文是基于Netty4.1.x,Handler在Netty占据着很重要的位置,跟Servlet中的filter很像,通过Handler可以完成消息的编解码、拦截指定的消息、统一对日志错误进行处理、统一对请求进行计数。所有的Handler都实现ChannelHandler接口,分为两大类,ChannelInboundHandler与ChannelOutboundHandler,ChannelInbo...
2019-09-23 19:05:22 503
原创 Netty4之编解码
本文是基于Netty4.1.x,一般在使用Netty作为网络框架进行开发时,编解码框架是我们应该注意的一个重要部分。应用从网络层接收数据需要经过解码(Decode),将二进制的数据报转换从应用层的协议消息,这样才能被应用逻辑所识别。同样,客户端发送或服务端在返回消息时,是需要将消息编码(Encode)成二进制字节数组(在Netty4中就是ByteBuf)对能发送到网络对端。对于编解码Netty4本...
2019-09-22 14:25:39 682
原创 Netty4之启动流程
Netty是基于JAVA NIO的网络应用框架,使用Netty可以迅速的开发网络应用。主要是用在服务端。这篇文章主要是分析Netty4.1.x的启动流程。通过启动流程可以更新清晰的知道Netty的运行逻辑。在介绍启动流程之前先说说几个名词的基本概念: Bootstrap 启动器,负责对于整个Netty应用的启动,分为ServerBootstrap(Server端使用),Bootstrap(Cli...
2019-09-13 15:16:54 501
原创 Netty4之业务线程池的使用
此文章是基于Netty4.1,一般在使用Netty做服务端开发时,通常会定义I/O线程池及业务线程池。I/O线程池顾名思义用于处理网络连接及维护Channel的相关事件(一般像心跳及编解码都可以使用I/O线程池)。当需要处理比较耗时的业务逻辑也共用I/O线程池话会对整个服务的吞吐量有比较大的影响(曾经遇到过)。所以在生产环境中建议定义业务线程池。下面说说如何使用业务线程池及业务线程池处理逻辑的原理...
2019-09-13 15:08:00 8950
基于web数据挖掘的数字图书馆个性化服务--王军强
2014-05-29
Web数据挖掘在数字图书馆个性化服务中的应用
2014-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人