java 非缓冲与缓冲数据读取比较
首先不适用缓存技术,读取数据:
//非缓冲计时
package com.swust;
import java.io.*;
/*
*功能:创建一个程序,写10000个随机双精度的数到一个文件中,同时测试运用缓冲和非缓冲技术
*
* 读取数据,求平均数,进行这种操作所需要的时间
*分析:
* 在写开始操作之前,先获取当前时间
* 再将它同操作结束后的时间作比较,以此判断各个操作的时间
*实现:
* 仍使用两个类:
*/
public class flowTest { public static void main(String[] args) { double sum=0;
try{
long start=System.currentTimeMillis();
FileInputStream fileIn = new FileInputStream("sample.ini");
DataInputStream in=new DataInputStream(fileIn);
for (int i=0;i<10000;i++){
sum+= in.readDouble();
}
in.close();
long stop=System.currentTimeMillis();
System.out.println("平均数:"+(sum/10000));
System.out.println("程序运行了:"+(stop-start));
}catch(Exception e){
System.out.println(e.toString());
} } }
运行结果:
平均数:0.5061121254198577
程序运行了:16
使用缓冲技术:
//非缓冲计时
package com.swust;
import java.io.*;
/*
*功能:创建一个程序,写10000个随机双精度的数到一个文件中,同时测试运用缓冲和非缓冲技术
*
* 读取数据,求平均数,进行这种操作所需要的时间
*分析:
* 在写开始操作之前,先获取当前时间
* 再将它同操作结束后的时间作比较,以此判断各个操作的时间
*实现:
* 仍使用两个类:
*/
public class flowTest { public static void main(String[] args) { double sum=0;
try{
long start=System.currentTimeMillis();
FileInputStream fileIn = new FileInputStream("sample.ini");
////////////////////////////////////////
BufferedInputStream bfs_in =new BufferedInputStream(fileIn);
DataInputStream in=new DataInputStream(bfs_in);
////////////////////////////////////////
for (int i=0;i<10000;i++){
sum+= in.readDouble();
}
in.close();
long stop=System.currentTimeMillis();
System.out.println("使用缓冲后\n平均数:"+(sum/10000));
System.out.println("程序运行了:"+(stop-start));
}catch(Exception e){
System.out.println(e.toString());
} } }
运行结果:
使用缓冲后
平均数:0.5061121254198577
程序运行了:0
完成这个操作几乎不到一秒的时间,这种改善非常大,读取数据的时间几乎可以忽略,所以在大数据输入的时候应该采用缓冲流
java 非缓冲与缓冲数据读取比较的更多相关文章
- Java学习-028-JSON 之二 -- 数据读取
JSON数据由 JSONObject.JSONArray.key_value 组合而成.通常来说,JSONObject 可以包含 JSONObject.JSONArray.key_value:JSON ...
- Java IO总结之缓冲读入文件
package com.io; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException ...
- Java转换流、缓冲流、流操作规律整理
转换流 1.1 OutputStreamWriter类 OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字 ...
- java - >IO流_缓冲流(高效流)
缓冲流(高效流) 在我们学习字节流与字符流的时候,大家都进行过读取文件中数据的操作,读取数据量大的文件时,读取的速度会很慢,很影响我们程序的效率,那么,我想提高速度,怎么办? Java中提高了一套缓冲 ...
- JDBC Java 程序从 MySQL 数据库中读取数据,并备份到 xml 文档中
MySQL 版本:Server version: 5.7.17-log MySQL Community Server (GPL) 相关内容:JDBC Java 程序从 MySQL 数据库中读取数据,并 ...
- JAVA通过HTTP方式获取数据
测试获取免费天气数据接口:http://www.weather.com.cn/data/sk/101190408.html URL数据如下图: 代码部分: package https; import ...
- Java基础IO流 ,文件读取,由易至难
最基础的读取文件 import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;imp ...
- Java中9种IO的读取方式
数据的读写,按照数据类型可以分为两种:字符流和字节流(二者区别?).所以数据读取方式按照数据类型也可以分为两类:字节流的读取和字符流的读取. 一.字节流读取操作: | | |-----1.FileI ...
- 【原】Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性
本来应该上周更新的,结果碰上五一,懒癌发作,就推迟了 = =.以后还是要按时完成任务.废话不多说,第四章-第六章主要讲了三个内容:键值对.数据读取与保存与Spark的两个共享特性(累加器和广播变量). ...
- Java 非线程安全的HashMap如何在多线程中使用
Java 非线程安全的HashMap如何在多线程中使用 HashMap 是非线程安全的.在多线程条件下,容易导致死循环,具体表现为CPU使用率100%.因此多线程环境下保证 HashMap 的线程安全 ...
随机推荐
- UVA 11149 Power of Matrix
矩阵快速幂. 读入A矩阵之后,马上对A矩阵每一个元素%10,否则会WA..... #include<cstdio> #include<cstring> #include< ...
- HUST 1376 Random intersection
神题.同学指教.1秒AC...http://blog.csdn.net/jtjy568805874/article/details/50724656 #include<cstdio> #i ...
- PHP的几种排序算法的比较
这里列出了几种PHP的排序算法的时间比较的结果,,希望对大家有所帮助 /* * php 四种排序算法的时间与内置的sort排序比较 * 3000个元素,四种算法的排序所用的时间比较 * 冒泡排序 85 ...
- N皇后问题——递归求解
比较简单,废话不说,上代码: public class NQueen { //比如:position[1]=3,表示第一行的第三列有一个皇后 private int [] position; //总的 ...
- X-006 FriendlyARM tiny4412 u-boot移植之Debug串口用起来
<<<<<<<<<<<<<<<<<<<<<<<<< ...
- IOS之富文本编辑 分类: ios技术 2015-03-06 22:51 89人阅读 评论(0) 收藏
之前做项目时遇到一个问题: 使用UITextView显示一段电影的简介,由于字数比较多,所以字体设置的很小,行间距和段间距也很小,一大段文字挤在一起看起来很别扭,想要把行间距调大,结 ...
- IOS开发-UI学习-沙盒机制&文件操作
苹果为软件的运行提供了一个沙盒机制 每个沙盒含有3个文件夹:Documents, Library 和 tmp.因为应用的沙盒机制,应用只能在几个目录下读写文件 Documents:苹果建议将程序中 ...
- centos7 安装R和Rstudio客户端
#官网下载R和Rstudio 我下载的是 R-3.2.1.tar.gz和rstudio-0.99.467-x86_64.rpm两个版本 rstudio没有看见有centos版的,下的这个RStudio ...
- Html emed 和 object
<object> 标签用于包含对象,比如图像.音频.视频.Java applets.ActiveX.PDF 以及 Flash. object 的初衷是取代 img 和 applet 元素. ...
- Poi之Word文档结构介绍
1.poi之word文档结构介绍之正文段落 一个文档包含多个段落,一个段落包含多个Runs,一个Runs包含多个Run,Run是文档的最小单元 获取所有段落:List<XWPFParagraph ...