摘要:
Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Chann... 阅读全文
posted @ 2016-01-26 13:46
开发者里程碑
阅读(201)
评论(0)
推荐(0)
摘要:
Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的话题列表... 阅读全文
posted @ 2016-01-26 13:45
开发者里程碑
阅读(170)
评论(0)
推荐(0)
摘要:
Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的... 阅读全文
posted @ 2016-01-26 13:44
开发者里程碑
阅读(184)
评论(0)
推荐(0)
摘要:
Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具... 阅读全文
posted @ 2016-01-26 13:43
开发者里程碑
阅读(162)
评论(0)
推荐(0)
摘要:
1. 背景1.1. Java线程模型的演进1.1.1. 单线程时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。1... 阅读全文
posted @ 2016-01-26 13:42
开发者里程碑
阅读(650)
评论(0)
推荐(0)

浙公网安备 33010602011771号