Java缓冲流概述详解(原理画图分析)

缓冲流也可以称作高效流,它可以对那些基本的字节字符流进行增强,达到提高数据的读写能力

缓冲流原理

创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。

画图理解

在这里插入图片描述
这个就好一个家庭饮水要从自来水厂输送,但是如果他家里有一个水桶的话,在用水的时候直接从这个水桶里取水就会比较快,因为距离比较近(内存里表示读取速度快)

大白话:我们在使用水的时候从水桶取水不是会更快吗?但是所有的水均来自自来水厂(源数据是一样的,管道还是那条输送管道)

在这里插入图片描述

缓冲区越大越好吗?

缓冲区绝对不是越大越好的,因为缓冲区占用的是内存,缓冲区过大就会出现内存空间占用严重。

举个不恰当的例子,我们在厨房里放一个水桶,目的就是方便快速的为下一次的取水做准备,但是这个水桶太大的话,占用厨房的空间大,那么就影响我们在厨房里后续的动作。

一般默认的缓冲区为8M

我们来看一下缓冲流的常用实现类

BufferedInputStream 字节缓冲输入流
BufferedOutputStream 字节缓冲输出流
BufferedReader 字符缓冲输入流
BufferedWriter 字符缓冲输出流

小结:

缓冲流就是对那些低级的流进行包装,加强来实现提升数据读写的效率。

接下来的文章我将主要对这四种流进行详细的讲解。。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值