java NIO的通道类似流,但又有些不同:
既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。
通道可以异步地读写。
通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。
正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:
Channel的实现
这些是Java NIO中最重要的通道的实现:...
分类:
编程语言 时间:
2015-01-04 17:16:14
阅读次数:
201
channel: http://douban.fm/j/app/radio/channelsplaylist:http://douban.fm/j/mine/playlist?type=s&sid=331663&pt=112.3&channel=3770138&pb=64&from=mainsite...
1、在环境变量中添加D:\xampp\php // 如果前面已经有其他环境变量了,那么要用分号;跟前面的隔开2、ctrl+R , cmd , pear install PHP_UML3、如果提示Warning: channel "pear.php.net" has updated its prot....
分类:
Web程序 时间:
2014-12-30 13:16:09
阅读次数:
186
EtherChannelEtherChannel(以太网通道)是由Cisco研发,应用于交换机之间的多链路捆绑技术。其基本原理是:将两个设备间多条相同特性的快速以太网或千兆位以太物理链路捆绑在一起组成一条逻辑链路,从而达到带宽倍增的目的。除了增加带宽外,EtherChannel还可以在多条链路上均衡..
分类:
其他好文 时间:
2014-12-29 18:35:06
阅读次数:
266
1、并行通过使用goroutine和channel,go语言可以很好地支持并发,但是在我的电脑上是默认只使用一个核执行,要使用多核,在代码前面加入import("runtime")var MULTICORE int = runtime.NumCPU() //CPU数runtime.GOMAXPROC...
分类:
编程语言 时间:
2014-12-26 20:15:17
阅读次数:
202
通道和缓冲区 概述 通道 和 缓冲区 是 NIO 中的核心对象,几乎在每一个 I/O 操作中都要使用它们。 通道是对原 I/O 包中的流的模拟。到任何目的地(或来自任何地方)的所有数据都必须通过一个 Channel 对象。一个 Buffer 实质上是一个容器对象。发送给一个通道的所有对象都必须首先放...
分类:
其他好文 时间:
2014-12-26 11:08:07
阅读次数:
156
Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使...
分类:
编程语言 时间:
2014-12-26 10:54:29
阅读次数:
443
channel与流的区别: 流基于字节,且读写为单向的。 通道基于快Buffer,可以异步读写。除了FileChannel之外都是双向的。 channel的主要实现: FileChannel DatagramChannel:UDP读写 SocketChannel:TCP读写 ServerSocket...
分类:
编程语言 时间:
2014-12-22 19:21:53
阅读次数:
139
Java NIO的核心部件: Buffer Channel Selector Buffer 是一个数组,但具有内部状态。如下4个索引: capacity:总容量 position:下一个要读取/写入的元素索引 limit:限制,第一个不能读取/写入的元素索引 mark:位置标记,重置position...
分类:
编程语言 时间:
2014-12-22 17:34:31
阅读次数:
252
//Build/ 2014开发者大会第二天的主题演讲主要包含两部分:Microsoft Azure的发展状况,以及 .NET和生态系统的发展介绍。第二天的重点整理也由此分为上下两部分。您可以在Channel 9上观看完整的视频。 Microsoft Azure近况 这一天的主题演讲由 Microso...
分类:
其他好文 时间:
2014-12-22 16:02:06
阅读次数:
275