首先:你的“BufferdStream” 写错了,应该是 BufferedStream ;其次:对于性能的体现,举个实际的例子。当你要向网络中写一段字符时,你是写一字符就发送呢,还是先一起写到缓存里,再一起发送好。
解决方案 »
- server.xml配置文件中maxActive和maxProcessors有什么区别
- eclipse3.1.0+lomboz3.1.0+emf2.0.0,为什么打不开jsp文件?
- 新手跪问:text类型怎么取?
- 在表单页面中添写完,预览功能如何实现
- 在servlet中怎么实现url改写一定执行呢?
- JFreeChart TimeSeries显示数据问题
- tomcat下项目已经上线运行如何热加载
- 推荐几本关于JSP的书,最好能从网上下到
- Servlet高手快请进,小问题,如何在两个Servlet中传递值,通过?的形式
- 如何获取webservice各客户端传递信息用的http包头?
- 初学者,请各位英雄帮帮小弟啊!!!
- 小第写了个if语句,但总是通不过,谁帮着看看啊。
而你从缓存读的好处,就是你的数据先就排好了对
就像你去超市买东西,要是一个排队,一个人买那么你结帐的时间就会少很多
因为你在买东西的同时“你”就在排队了。
for(i=0;i<buffer.length;i++)
{
byte o=buffer[i];
out.write(o);
}
此方法难道不要一个字节一个字节读反复请求中断的操作,读入内存?那我对于每个要写的字节byte直接调用out.write(byte);,和先用buffer[i]=byte,再在for()中调用out.write(byte);有何区别?2,再说输入缓冲区,当将流中的数据写到缓冲区时,是这麽调用的:
while(byte n=inputStream.read()!=-1)
{
buffer[i++]=n;
}
当程序调用BufferdInputStream.read()时,将返回buffer[i]。那这与直接返回inputStream.read()又有何区别?谁能解释一下?
java是个平台,并不是在class程序中调用中断操作的
out建立的连接有时效性,如果一段时间对out没有输出,则自动关闭物理连接
所以如果一次性向out输出n个数据的效率理论上要比间隔很长时间n次输出out个数据来的有效率
而java虚拟机更能从一次性n个重复的操作中分析出具体的操作方法,如掉用中断写块数据等等
这些是虚拟机的事,如果想比较异同,写两段程序就知道结果了
愚见,愚见,呵呵