摘要: 上一节我们写了一个HelloWorld,对于Netty的运行有了一定的了解,知道Netty是如何启动客户端和服务器端。这一节我们简要的讲解一下几个重要的接口,初步探讨Netty的运行机制,当然刚学Netty就深入原理肯定是很枯燥的,所以我们就点到为止。 1. ChannelPipeLine和Chan 阅读全文
posted @ 2017-03-26 18:10 rickiyang 阅读(1227) 评论(0) 推荐(1) 编辑
摘要: 这一节我们来讲解Netty,使用Netty之前我们先了解一下Netty能做什么,无为而学,岂不是白费力气! 1.使用Netty能够做什么 开发异步、非阻塞的TCP网络应用程序; 开发异步、非阻塞的UDP网络应用程序; 开发异步文件传输应用程序; 开发异步HTTP服务端和客户端应用程序; 提供对多种编 阅读全文
posted @ 2017-03-25 10:15 rickiyang 阅读(756) 评论(0) 推荐(1) 编辑
摘要: 前面我们简单学习了NIO。我们知道java的I/O模型一共有四种,分别是:传统的BIO,伪异步I/O,NIO和AIO。为了澄清概念和分清区别,我们还是先简单的介绍一下他们的概念,然后再去比较优劣。以及探讨我们为什么使用netty。 1.概念澄清 1.1 BIO BIO,即Blocking I/O。网 阅读全文
posted @ 2017-03-24 13:01 rickiyang 阅读(1065) 评论(0) 推荐(1) 编辑
摘要: 我们知道是NIO是在2002年引入到J2SE 1.4里的,很多Java开发者比如我还是不知道怎么充分利用NIO,更少的人知道在Java SE 7里引入了更新的输入/输出 API... 阅读全文
posted @ 2017-03-22 12:28 rickiyang 阅读(617) 评论(0) 推荐(0) 编辑
摘要: 这一节我们将探索选择器(selectors)。选择器提供选择执行已经就绪的任务的能力,这使得多元 I/O 成为可能。就像在第一章中描述的那样,就绪选择和多元执行使得单线程能够有... 阅读全文
posted @ 2017-03-18 12:23 rickiyang 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 通道(Channel)是java.nio的第二个主要创新。它们既不是一个扩展也不是一项增强,而是全新、极好的Java I/O示例,提供与I/O服务的直接连接。Channel用于... 阅读全文
posted @ 2017-03-16 12:41 rickiyang 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 当我们需要与 NIO Channel 进行交互时, 我们就需要使用到 NIO Buffer, 即数据从 Buffer读取到 Channel 中, 并且从 Channel 中写入... 阅读全文
posted @ 2017-03-15 10:53 rickiyang 阅读(409) 评论(0) 推荐(0) 编辑
摘要: I/O简介在 Java 编程中,直到最近一直使用 流 的方式完成 I/O。所有 I/O 都被视为单个的字节的移动,通过一个称为 Stream 的对象一次移动一个字节。流 I/O... 阅读全文
posted @ 2017-03-15 10:50 rickiyang 阅读(522) 评论(0) 推荐(1) 编辑
摘要: Queue除了前面介绍的实现外,还有一种双向的Queue实现Deque。这种队列允许在队列头和尾部进行入队出队操作,因此在功能上比Queue显然要更复杂。LinkedBlock... 阅读全文
posted @ 2017-03-02 23:46 rickiyang 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 这一节我们来了解阻塞队列(BlockingQueue),BlockingQueue接口定义了一种阻塞的FIFO queue,每一个BlockingQueue都有一个容量,当容量... 阅读全文
posted @ 2017-02-28 21:42 rickiyang 阅读(284) 评论(0) 推荐(0) 编辑