非阻塞io
action5362603
这个作者很懒,什么都没留下…
展开
-
基于事件的 NIO 多线程服务器
JDK1.4 的 NIO 有效解决了原有流式 IO 存在的线程开销的问题,在 NIO 中使用多线程,主要目的已不是为了应对每个客户端请求而分配独立的服务线程,而是通过多线程充分使用用多个 CPU 的处理能力和处理中的等待时间,达到提高服务能力的目的。 多线程的引入,容易为本来就略显复杂的 NIO 代码进一步降低可读性和可维护性。引入良好的设计模型,将不仅带来高性能、高可靠的代码,也将带来一个惬...原创 2014-05-15 10:41:20 · 90 阅读 · 0 评论 -
Practical Netty (5) TCP反向代理服务器
Practical Netty (5) TCP反向代理服务器作者:柳大·Poechant(钟超)邮箱:zhongchao.ustc#gmail.com(# -> @)博客:Blog.CSDN.net/Poechant微博:weibo.com/lauginhom日期:June 11th, 2012以下针对 TCP 反向代理服务器。1. 前端连接被创建时,...原创 2014-10-31 09:23:39 · 981 阅读 · 0 评论 -
Practical Netty (6) HTTP Server/Client
Practical Netty (6) HTTP Server/Client作者:柳大·Poechant(钟超)邮箱:zhongchao.ustc#gmail.com(# -> @)博客:Blog.CSDN.net/Poechant微博:weibo.com/lauginhom日期:June 18th, 2012Netty 提供的 HTTP 功能,比较适...原创 2014-10-31 09:23:43 · 131 阅读 · 0 评论 -
Netty初步 --概念
1.入门文档 如果是入门的话,官网的文档已经相当好了。里面的例子程序得仔细阅读,这里就不再重复转载了。参见http://netty.io/wiki/user-guide.html 2.为什么需要netty 2.1 主要是scalibity和performance 2.2 另外Netty In Action有一些说明,笔记如下: 2.2.1 传统的异步编程有2种模式:callback和Futur...原创 2014-11-01 13:06:41 · 137 阅读 · 0 评论 -
Netty初步 --概念
1.入门文档 如果是入门的话,官网的文档已经相当好了。里面的例子程序得仔细阅读,这里就不再重复转载了。参见http://netty.io/wiki/user-guide.html 2.为什么需要netty 2.1 主要是scalibity和performance 2.2 另外Netty In Action有一些说明,笔记如下: 2.2.1 传统的异步编程有2种模式:callback和Futur...原创 2014-11-07 10:42:58 · 84 阅读 · 0 评论 -
Netty初步 --概念
1.入门文档 如果是入门的话,官网的文档已经相当好了。里面的例子程序得仔细阅读,这里就不再重复转载了。参见http://netty.io/wiki/user-guide.html 2.为什么需要netty 2.1 主要是scalibity和performance 2.2 另外Netty In Action有一些说明,笔记如下: 2.2.1 传统的异步编程有2种模式:callback和Futur...原创 2014-11-07 10:42:59 · 76 阅读 · 0 评论 -
Practical Netty (3) 在Netty中使用Protobuf
Practical Netty (3) 在Netty中使用Protobuf作者:柳大·Poechant(钟超)邮箱:zhongchao.ustc#gmail.com(# -> @)博客:Blog.CSDN.net/Poechant微博:weibo.com/lauginhom日期:June 8th, 20121. Netty 核心概念之一:Upstream ...原创 2014-11-07 10:43:03 · 170 阅读 · 0 评论 -
java开发之netty里集成spring注入mysq连接池(一)
netty的性能非常高,能达到8000rps以上,见各个web服务器的性能对比测试1.准备好需要的jar包 点击(此处)折叠或打开spring.jar //spring包 netty-3.2.4.Final.jar // netty库 commons-dbcp.jar // dbcp数据库连接池 mysql-connector-java-5.1...原创 2014-11-09 13:04:48 · 308 阅读 · 0 评论 -
运用spring注解实现netty服务器端udp应用程序
netty是JBOSS针对网络开发的一套应用框架,它也是在NIO的基础上发展起来的。netty基于异步的事件驱动,具有高性能、高扩展性等特性,它提供了统一的底层协议接口,使得开发者从底层的网络协议(比如 TCP/IP、UDP)中解脱出来。就使用来说,开发者只要参考 Netty提供的若干例子和它的指南文档,就可以放手开发基于Netty的服务端程序了。 netty有几个比较重要的概念,在此...原创 2014-11-09 13:04:50 · 662 阅读 · 0 评论 -
java开发之netty里集成spring注入mysq连接池(二)
3.实现注入3.1构建applicationContext.xml在src目录下建立applicationContext.xml点击(此处)折叠或打开<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"...原创 2014-11-09 13:04:54 · 251 阅读 · 0 评论 -
protobuf在netty里面的应用举例
netty为protobuf提供了两个编码器(ProtobufEncoder,ProtobufVarint32LengthFieldPrepender),两个解码器(ProtobufVarint32FrameDecoder,ProtobufDecoder)[注]所谓的编码就是把应用程序使用的数据类型编码成在网络上传输的二进制字节流,反之同理。 看一个netty官网上提供的一个使用protobu...原创 2014-11-09 13:04:54 · 101 阅读 · 0 评论 -
Practical Netty (4) 父子频道关系,频道与管道的关系
Practical Netty (4) 父子频道关系,频道与管道的关系作者:柳大·Poechant(钟超)邮箱:zhongchao.ustc#gmail.com(# -> @)博客:Blog.CSDN.net/Poechant微博:weibo.com/lauginhom日期:June 10th, 2012(下面这段话是完成本文后写的)我姑且将 Pare...原创 2014-10-31 09:23:35 · 145 阅读 · 0 评论 -
Practical Netty (2) CS模式下的Echo及String与ChannelBuffer的转化
<!--new top--><!--new top-->登录 | 注册收藏成功确定收藏失败,请重新收藏确定标题标题不能为空网址标签摘要 公开 取消 收藏...原创 2014-10-31 09:23:33 · 129 阅读 · 0 评论 -
Java NIO 系列教程 --理论与代码
Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。感谢并发编程网的翻译和投递。 (关注ITeye官微,随时随地查看最新开发资讯、技术文章。) Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基...原创 2014-05-30 13:53:37 · 82 阅读 · 0 评论 -
Netty之源代码解析 .--理论
Netty始终要写一篇来作为终结的,但是到了写的时候才发现无从下手,了解 的还是不够吧。无奈,从四处摘录了一大片东西,很多都是官网下来的,没有什么文字说明,权当参考了。首先来一张总体架构图,这个是从Neety官网上摘下来的,描述了Netty的核心架构和总体功能。 1. BootStrap Bootstrap : ChannelFactory, Chann...原创 2014-05-30 14:34:52 · 115 阅读 · 0 评论 -
netty文件传输--代码
public class FileClientHandler extends SimpleChannelUpstreamHandler { private volatile boolean readingChunks; private File downloadFile; private FileOutputStream fOutputStream = null; @Ove...原创 2014-05-30 14:36:10 · 181 阅读 · 0 评论 -
netty对象传输--代码
package netty2;import static org.jboss.netty.channel.Channels.pipeline;import java.net.InetSocketAddress;import java.util.concurrent.Executors;import org.jboss.netty.bootstrap.ClientBo...原创 2014-05-30 14:36:18 · 133 阅读 · 0 评论 -
socket多客户端上传文件--代码
public class FileServer { public static void main(String[] args) throws Exception { ServerSocket ss=new ServerSocket(10007); while(true){ Socket s=ss.accept(); new Thread(new FileThrea...原创 2014-05-30 14:36:29 · 108 阅读 · 0 评论 -
用nio实现Echo服务--代码
今天突然间想用nio实现个Echo服务,程序实现起来实现不算困难,但跑起来后,在Server端的ServerSocket完成accept之后,我的CPU总是跳到100%。嗯,小郁闷,后来,才发现自己在Server端注册了多余的监听事件SelectionKey.OP_WRITE,改过来后好多了,希望记住这个教训。 EchoServer.javaJava代码 pa...原创 2014-06-04 09:52:55 · 177 阅读 · 0 评论 -
使用Java NIO编写高性能的服务器--代码
从JDK 1.4开始,Java的标准库中就包含了NIO,即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO,当然包括了Socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装,提供了高性能、易伸缩的服务架构。说来惭愧,直到JDK1.4才有这种功能,但迟到者不一定没有螃蟹吃,...原创 2014-06-04 09:53:22 · 170 阅读 · 0 评论 -
Netty5源码分析--4.总结
JAVA NIO 复习请先参考我之前的博文JAVA学习笔记–3.Network IO的 NIO(NonBlocking IO) SOCKET 章节。这里主要讲下JAVA NIO其中几个比较被忽略的细节,不求全,欢迎补充。 APISelect当调用ServerSocketChannel.accept();时,如果该channel处于非阻塞状态而且没有等 待(pending)的...原创 2016-04-26 22:51:57 · 681 阅读 · 0 评论 -
使用netty+spring搭建游戏框架
一、 java NIO简介 nio是java New IO的简称,在jdk1.4里提供的新api。Sun官方标榜的特性如下: 为所有的原始类型提供(Buffer)缓存支持。 字符集编码解码解决方案。 Channel:一个新的原始I/O抽象。 支持锁和内存映射文件的文件访问接口。 提供多路(non-bloking)非阻塞式的高伸缩性网络I/O。 关于java NIO的实现部分...原创 2016-04-26 22:52:01 · 531 阅读 · 0 评论 -
Practical Netty (1) 基于Netty实现的一个rdate server实例
Practical Netty (1) 基于Netty实现的一个rdate server实例作者:钟超(Poechant)邮箱:zhongchao.ustc#gmail.com博客:blog.csdn.net/poechant微博:weibo.com/lauginhomNetty 是一个高效的 Java 网络框架,简单的介绍可参见《Java NIO框架Mina、N...原创 2014-10-31 09:23:30 · 86 阅读 · 0 评论 -
Hadoop心跳机制源码分析
Hadoop心跳机制源码分析 前言: 这些天遇到了一些感情方面的问题,着实比较痛苦。不过最终在亲人、朋友的开导下,我已度过了最艰难的那段时期。在这里我要谢谢我的爸爸,是你一直相信着 我,支持着我,虽然我一年在家只能呆上一两个月,可我却一直能够感受到家的温暖;我要感谢马总,是你用切身的经历为我开导,是你告诉我该如何正确地对待。 我要感谢亮仔,虽然你就是个小屁孩,但谢谢你喝醉了酒还要...原创 2016-03-20 11:06:17 · 308 阅读 · 0 评论