黑马程序员技术交流社区
标题:
关于流的问题,为什么缓冲的数组定义1024的整数倍
[打印本页]
作者:
黄鸿达
时间:
2013-2-9 20:04
标题:
关于流的问题,为什么缓冲的数组定义1024的整数倍
本帖最后由 黄鸿达 于 2013-2-9 23:40 编辑
import java.io.*;
public class FileReader {
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader("D:\\Demo.txt");
//为什么定义1024的整数倍?
char[] c=new char[1024];
int num=0;
while((num=fr.read(c))!=-1){
System.out.println(new String(c,0,num));
}
}
}
复制代码
毕老师说定义把缓冲的数组定义1024的整数倍,我不懂,求解释
作者:
黄基焜
时间:
2013-2-9 20:15
因为计算机中的进位是1024,1m=1024k,1g=1024m,1t=1024g
所以定为1024的整数倍比较好算数。
这是基础中的基础啊~
作者:
沈文杰
时间:
2013-2-9 20:40
其实定义多少无所谓只要不过大就行,只是约定俗成吧
作者:
范天成
时间:
2013-2-9 23:10
定义成多少都可以,但是一般都是定义成1024的倍数,内存对齐?不知道JAVA里有没有内存对齐的机制。
作者:
陈科宇
时间:
2013-2-9 23:30
朋友,定义成1024只是一种习惯。如果定义的数字小,那么单次读取的字符数也就相对较少。定义的数字较大,那么单次读取的内容也就相对较多,也能够减少读取的次数。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2