io/nio
文章平均质量分 86
/
車輪の唄
atarik@163.com
展开
-
NIO之FileChannel
kafka顺序写盘用的就是FileChannel类实现 FileChannel优势: 多线程并发读写,并发性; IO读写性能提高(OS负责),也可引做共享内存,减少IO操作,提升并发性; 应用crash,保证这部分内容还能写的进去文件。在我们调用channel.write(bytebuffer)之后,具体何时写入磁盘、bytebuffer中内容暂存于哪里(os ca...原创 2020-04-05 17:19:56 · 274 阅读 · 3 评论 -
Java NIO
一、NIO基础 Java New IO是从Java1.4版本开始引入的一个新的IO api,可以替代以往的标准IO,NIO相比原来的IO有同样的作用和目的,但是使用的方式完全不一样,NIO是面向缓冲区的,基于通道的IO操作,这也让它比传统IO有着更为高效的读写。 1.1 IO和NIO的主要区别 IO NIO 面向流 面向缓冲区 阻塞IO 非阻塞IO 无 选...原创 2020-01-03 22:47:51 · 259 阅读 · 0 评论 -
文件随机读写专用类——RandomAccessFile
1. 随机读写文件类RandomAccessFile简介: 1) Java提供了一种功能特别强大的文件读写类:RandomAccessFile 2) 我们都知道File只能对文件进行创建、删除、改名等操作,但要读写文件的内容必须要经过流的包装; 3) 而RandomAccessFile虽然名字是以File作为结尾,但其并不和File是一个系列的,Rando原创 2017-12-13 16:13:47 · 990 阅读 · 0 评论 -
关于Character的digit,forDigit,getNumericValue方法
Character类是一个包装类。 char这种数据类型是基于原始的Unicode编码的,储存一个char用16个bit,因此定义characters也是16位定长的实体集合。 Unicode编码标准发生了变化,数量级从\uFFFF到了\u10FFFF 对Unicode标准中的所有字符,16位已经是不够的了,即一部分字符并不能通过char来表示了。 我们称\u0000 to \原创 2017-12-07 09:46:10 · 1421 阅读 · 0 评论 -
JAVA NIO : Buffer ,Channel, Selector
概述 标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。非阻塞IO:例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数据被写入到缓冲区时,线程可以继续处理它。从缓冲区写入通道也类似Java NIO引入了选择器的概念,选择器用于监听多个通道的事件(比如:连接打开原创 2017-12-26 17:23:42 · 481 阅读 · 0 评论 -
JAVA NIO 文件锁
1. 概念 共享锁: 共享读操作,但只能一个写(读可以同时,但写不能)。共享锁防止其他正在运行的程序获得重复的独占锁,但是允许他们获得重复的共享锁。独占锁: 只有一个读或一个写(读和写都不能同时)。独占锁防止其他程序获得任何类型的锁。 2. FileLock FileChannel.lock(long position, long size, boolean shared)原创 2017-12-27 16:18:12 · 435 阅读 · 0 评论