摘要: Selector Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 为什么使用Selector? 仅用单个线程来处理多个Channels的好处是,只需要更少 阅读全文
posted @ 2017-05-22 21:00 风中小蘑菇 阅读(197) 评论(0) 推荐(0) 编辑
摘要: Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。 分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Chan 阅读全文
posted @ 2017-05-22 18:23 风中小蘑菇 阅读(184) 评论(0) 推荐(0) 编辑
摘要: Buffer Buffer的基本用法 使用Buffer读写数据一般遵循以下四个步骤: 1. 写入数据到Buffer 2. 调用flip()方法 3. 从Buffer中读取数据 4. 调用clear()方法或者compact()方法 当向buffer写入数据时,buffer会记录下写了多少数据。一旦要 阅读全文
posted @ 2017-05-22 17:32 风中小蘑菇 阅读(105) 评论(0) 推荐(0) 编辑
摘要: Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使 阅读全文
posted @ 2017-05-22 16:42 风中小蘑菇 阅读(130) 评论(0) 推荐(0) 编辑
摘要: FileWriter 处理文件都会碰到的一个问题是,当前写入的数据是覆盖原文件内容还是追加到文件末尾。当你创建一个FileWriter之后,你可以通过使用不同构造函数实现你的不同目的。 以下的构造函数取文件名作为参数,将会新写入的内容将会覆盖该文件: 查看源代码打印帮助 以下的构造函数取文件名和一个 阅读全文
posted @ 2017-05-22 13:30 风中小蘑菇 阅读(153) 评论(0) 推荐(0) 编辑