IO
文章平均质量分 93
Neil Parker
有人的地方就有江湖
展开
-
gRPC 非官方教程
一个高性能、通用的开源RPC框架主要面向移动应用开发: gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成可靠性很强的客户端功能库。基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发支持众多开发语言创建一个文件夹src/main/proto/创建一个helloworld.proto文件然后使用maven编译项目 生成基础类这里修改service的定义,其他不变。原创 2023-02-18 09:59:23 · 460 阅读 · 0 评论 -
Java NIO 分散(Scatter)/聚集(Gather)
分散(Scatter)/聚集(Gather)Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel中读取或者写入到Channel的操作。 分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Channel将从Channel中读取的数据“分散(scatter)”到多个Buffer中。 聚集(gathe...原创 2018-04-07 14:53:56 · 322 阅读 · 0 评论 -
Java NIO 选择器Selector
选择器(Selector)Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 (1) 为什么使用Selector? 仅用单个线程来处理多个Channels的好处是,只需要更少的线程来处理通道。事实上,可以只用一个线程处理所有的通道。对于操作系统来说,线程之...原创 2018-04-07 17:17:12 · 279 阅读 · 0 评论 -
Java NIO 通道的实现类型
文件通道Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。 FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。 打开FileChannel 在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使用一个InputStream、OutputStream或RandomAccessFile来获...原创 2018-04-07 23:41:18 · 660 阅读 · 0 评论 -
Java IO
1,基于字节的IO2.基于字符的IO原创 2018-03-25 23:02:44 · 163 阅读 · 0 评论 -
Java NIO 概述
Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Asynchronous IO(异步IO):Java NIO可以让你异步的使用IO,例如:当线程从通道读取数据到缓冲区时,...原创 2018-03-26 20:35:07 · 272 阅读 · 0 评论 -
Java NIO 通道Channel
通道(Channel)Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现 这些是Java NIO中最重要的通道的实现: FileChannel:...原创 2018-04-07 12:17:30 · 435 阅读 · 0 评论 -
JAVA NIO 缓冲区Buffer
缓冲区(Buffer)Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。 Buffer的基本用法 使用Buffer读写数据一般遵循以下四个步骤: 写入数据到Buffer调用flip()方法...原创 2018-04-07 12:18:45 · 273 阅读 · 0 评论