java.nio

特性:java

1,字符集编码器和解码器app

2,非阻塞的IO dom

3,内存映射文件编码

4,文件加锁机制spa


内存映射相关:操作系统

虚拟内存机制的利用, 文件通道(channel),通道是用于磁盘文件的一种抽象,它使咱们能够访问诸如内存映射、文件加锁机制以及 文件间快速数据传递等操做系统特性。.net

FileChannel的map方法能够返回一个MappedByteBuffer (继承自ByteBuffer), 能够指定区域与模式:blog

FileChannel.MapMode.READ_ONLY:只读的继承

 FileChannel.MapMode.READ_WRITE: 对映射区的修改会在某个时刻写回文件,若是多个程序同时映射该文件,其行为依赖操做系统内存

FileChannel.MapMode.PRIVATE:缓冲区可写,可是不会影响到文件

使用nio文件映射须要的类:

java.nio.Buffer

java.nio.ByteBuffer

java.nio.MappedByteBuffer

java.nio.FileChannel,  文件通道能够经过FileInput/OutputStream、RandomAccessFile获得。

ByteBuffer能够检查缓冲区是否已满,查看当前的界限(超过它继续访问没有意义),还能够想DataInput、DataOutput同样处理二进制数据,也支持随机访问。相应的,处理文本数据能够使用java.nio.CharBuffer


文件锁:

能够使用FileChannel的lock 、tryLock 、release 方法使用锁,能够给lock传递参数,指定锁定范围,以及是独占锁仍是共享锁(有些系统不支持共享锁,所以可能获得还是独占锁)

相关文章
相关标签/搜索