时间(ms)
|
文件大小(byte)
|
Buffer(byte)
|
434
|
603900
|
10000
|
0
|
0
|
1000
|
0
|
46
|
100
|
0
|
188
|
50
|
0
|
281
|
5
|
0
|
2406
|
1
|
47
|
12000
|
java 代码
- package com;
-
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.nio.ByteBuffer;
- import java.nio.channels.FileChannel;
-
- import junit.framework.TestCase;
-
-
-
-
-
-
-
- public class NioDemo extends TestCase {
-
- public void testRead() throws IOException {
-
- int[] sizes = { 10000, 1000, 100, 50, 5, 1 };
-
-
-
- System.out.println(new File("text.txt").length());
-
- for (int i = 0; i < sizes.length; i++) {
-
- int size = sizes[i];
-
- FileInputStream fins = new FileInputStream("text.txt");
-
- FileChannel fc = fins.getChannel();
-
- if (!new File("text2.txt").exists()) {
- new File("text2.txt").createNewFile();
- }
- ByteBuffer buffer = ByteBuffer.allocate(size);
-
- FileOutputStream fouts = new FileOutputStream("text2.txt");
- FileChannel fc2 = fouts.getChannel();
-
- long start = System.currentTimeMillis();
-
- while (true) {
- buffer.clear();
- int r = fc.read(buffer);
- if (r == -1) {
- break;
- }
- buffer.flip();
- fc2.write(buffer);
- }
-
- long end = System.currentTimeMillis();
-
- System.out.println("---------" + size + "---------");
- System.out.println(end - start);
- fc.close();
- fc2.close();
- fins.close();
- fouts.close();
- }
- }
- }
Java™ I/O, 2nd Edition
By Elliotte Rusty Harold
...............................................
Publisher: O'Reilly
Pub Date: May 2006
Print ISBN-10: 0-596-52750-0
Print ISBN-13: 978-0-59-652750-1
Pages: 726
java 代码
- import java.io.*;
- import java.nio.*;
- import java.nio.channels.*;
- public class NIOCopier {
- public static void main(String[] args) throws IOException {
- FileInputStream inFile = new FileInputStream(args[0]);
- FileOutputStream outFile = new FileOutputStream(args[1]);
- FileChannel inChannel = inFile.getChannel( );
- FileChannel outChannel = outFile.getChannel( );
- for (ByteBuffer buffer = ByteBuffer.allocate(1024*1024);
- inChannel.read(buffer) != -1;
- buffer.clear( )) {
- buffer.flip( );
- while (buffer.hasRemaining( )) outChannel.write(buffer);
- }
- inChannel.close( );
- outChannel.close( );
- }
- }
-
In a very unscientific test, copying one large (4.3-GB) file on one platform (a dual 2.5-GHz PowerMac G5 running Mac OS X 10.4.1) using traditional I/O with buffered streams and an 8192-byte buffer took 305 seconds. Expanding and reducing the buffer size didn't shift the overall numbers more than 5% and if anything tended to increase the time to copy. (Using a one-megabyte buffer like Example 14-1's actually increased the time to over 23 minutes.) Using new I/O as implemented in Example 14-1 was about 16% faster, at 255 seconds. A straight Finder copy took 197 seconds. Using the Unix cp command actually took 312 seconds, so the Finder is doing some surprising optimizations under the hood.
分享到:
相关推荐
NULL 博文链接:https://ilrxx.iteye.com/blog/1051402
nio-benchmark 性能压力测试
在200℃下用溶剂热的方式将醋酸镍热分解,引入PVP活性剂,得到由3~5nm厚的薄片组成的直径约为100nm NiO中空球,通过改变PVP的...电化学测试NiO中空球具有823mA’h/g的放电容量,而且这些中空球也显示慢的容量衰退速度。
NIO,sun的new I/O,由此可以实现高性能的服务器。本源码只用来做测试,如果要真正用到项目中,可能还需要参考其它更多的东西,比如MINA
测试类包括Xmemcached客户端与memcached client for java两者,可运行比较性能。 XMemcached简介: XMemcached是基于 java nio的Memcached客户端,java nio相比于传统阻塞 io 模型来说,有 效率高(特别在高并发下...
Gatling的Scala基础封装是基于Akka编程的,它是非阻塞异步编程模型,可以高效执行并有极高的容错率。... 原生支持NIO,并发性能很好,即使性能较差的电脑也能发起很大的负载压力。 基于HTML的报表,简单易读。
第4章,实现长连接客户端,以及采用多线程技术进行系统性能测试; 第5章,介绍Netty相关基础知识,并使用Netty实现长连接服务端的编码。 适用人群 具有一定的Java开发基础; 学习Java开发领域Spring框架之外的东西...
以NaOH为沉淀剂,NiCl2为前驱体采用反复浸渍法合成了Ni(OH)2,在300...电化学性能测试:以10mA进行恒流充放电测试,起始容量为455F/g;随着循环次数的增加,比容量减小,200次后稳定于415F/g(为初始容量的91.2%)。
阻抗谱测试表明,含纳米尺寸NiO的复合材料的极化电阻更小,电导率更高。以质量分数为55%的NiO-YSZ为阳极材料,并将其封接成单电池。结果表明,含纳米尺寸NiO的复合阳极制成的单电池,其输出功率更高,短路电流更大。...
文件-clamav-cloud-performance 一组测试,用于在云中使用 clamav 测量文件(磁盘和内存)的性能。两种类型的测试带有 clamfs 的常规文件系统 - 所有对磁盘的访问都通过 clamav 对应用程序透明带有 clamavj 的 Java ...
通过X线衍射仪、扫描电镜和X线能谱仪对所得材料进行物理结构、形貌和成分分析,采用恒流充放电和循环伏安测试研究材料的电化学性能。结果表明,Li4Ti5O12/NiO(5%)复合材料具有最佳的循环可逆性能,适量的NiO可有效改善...
使用UV-1700型分光光度计、KEITHLEY4200-SCS半导体测试仪、JSM-6490LV型扫描电子显微镜等分析氮气退火对NiO/ZnO:A1薄膜性能的影响。实验结果表明:500℃退火范围内,NiO薄膜的透过率随退火温度的升高单调上升,500℃...
基准测试JMH,精确测量方法性能.mp4 06 案例分析:缓冲区如何让代码加速.mp4 07 案例分析:无处不在的缓存,高并发系统的法宝.mp4 08 案例分析:Redi如何助力秒杀业务.mp4 09 案例分析:池化对象的应用场景.mp4 ...
以乙二醇为溶剂、氢氧化钠为反应沉淀剂,采用共沉淀法合成了Co3O4和NiO金属氧化物粉末以及纳米介孔NiCo2O4尖晶石氧化物,并对所合成的阳极催化剂进行了表面形貌和物化性能测试。通过悬浊液包衣的方法将催化剂附着到Ti...
用ICP-AES进行Ni、Mg、Al元素分析,BET法测试催化剂比表面积,XRD表征催化剂物相,H2-TPR表征催化剂活性中心。考察了原料气组成为n(CH4)∶n(CO2)∶n(H2O)∶n(O2)=1∶0.5∶1.8∶0.1时催化剂在750℃、0.1MPa条件下CH4三...
纳米 Ti02颗粒对M92Nio.75Cro.25合金储氢动力学性能的提高具有催化作用,降低了M 92N ip. 75 Cro. 25合金的吸、放氢温度,使纳米复合材料氢化生成焓明显降低。对纳米复合材料的储氢性能测试结果表明:添加1.5%(质量分数...
在开始本节之前,我先讲一个亲身...另一个项目组直接使用Netty作为NIO服务端,业务的定制开发工作量非常小,测试表明,功能和性能都完全达标,项目组几乎没有在NIO服务端上花费额外的时间和精力,项目进展也非常顺利。
利用WO3和NiO的互补显色可以大大提高电致变色玻璃的变色效率。有关WO3薄膜的制备方法及其性能已有许多文献作了报道。已报道的NiOx薄膜常用金属镍的射频反应溅射或电子束反应蒸发方法制备。前者沉积速率较慢,电致...
- 下行短信(发送短信给手机用户),里面有两种方式发送短信,一种是Socket,一种是NIO,NIO的性能较高 - 上行短信(接收手机用户的短信),实际是接收联通短信中心SMG发过来的信息,为了应对高并发的场景,使用了生产者和消费...
通过X射线衍射、金相显微镜和电化学测试等手段研究了添加不同含量的Al和Fe对合金显微组织和电化学性能的影响。结果表明,所有合金均由BCC结构的V基固溶体主相和TiNi基第二相组成。电化学测试表明,增加Al含量后,...