- 博客(5)
- 资源 (10)
- 收藏
- 关注
原创 Java NIO和BIO读写简单比较
通过对文件的读写所花的时间来进行比较。 一、读写的文件 二、实例代码 package nio; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.nio.ByteBuffer; import java.nio.channels.FileCha
2017-03-19 15:30:14 1828 2
原创 Java NIO笔记之Buffer
一个Buffer对象是固定数量的大小的数据容器,作用是一个存储器或者分段运输区。 缓冲区的工作与通道紧密联系。通道是I/O传输发生时通过的入口,而缓冲区是这些数据传输的来源或目标。对于离开缓冲区的传输,您想传递出去的数据被置于一个缓冲区,被传送到通道。对于传回缓冲区的传输,一个通道将数据放置在您所提供的缓冲区中。这种在协同对象(通常是您所写的对象以及一到多个Channel对象)之间进行的缓
2017-03-12 16:55:29 579
原创 Scalable IO in Java的代码实现
最近在学习NIO相关的知识部分,在学习的时候,发现Doug Lea大神的一个PPT地址,里面的内容写的非常好, 很值得学习,具体内容可以参见PPT和网上的文章,自己根据PPT中的例子和描述,自己将代码补充了一下。下面主要是PPT中的代码和实例。 1.Basic Reactor Design package basic; import java.io.IOException; imp
2017-03-10 22:30:58 1568 2
原创 Java NIO笔记之IO基础概念
1.缓冲区 缓冲区是所有IO的基础,”输入/输出”就是将数据移进或移除缓冲区。进程IO操作的执行也是向操作系统发送请求,让它要么将缓冲区的数据排干(写),要么将缓冲区的填满数据(读)。 图 1-1 简单描述了数据从外部磁盘向运行中的进程的内存区域移动的过程。进程使用 read()系统调用,要求其缓冲区被填满。内核随即向磁盘控制硬件发出命令,要求其从磁盘读取数据。磁盘控制器把数据直接写
2017-03-06 00:04:09 622
原创 Java NIO笔记之内存映射文件
大致的原理图如下: FileChannel提供了一个map()的方法,该方法可以在一个打开的文件和一个特殊类型的ByteBuffer之间建立一个虚拟内存映射。在FileChannel上调用map( )方法会创建一个由磁盘文件支持的虚拟内存映射(virtual memory mapping)并在那块虚拟内存空间外部封装一个MappedByteBuffer对象。 MappedByteBuffer
2017-03-02 00:00:36 673
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人