温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java NIO性能测试的方法是什么

发布时间:2022-01-14 20:12:02 来源:亿速云 阅读:159 作者:iii 栏目:编程语言

这篇文章主要介绍“Java NIO性能测试的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java NIO性能测试的方法是什么”文章能帮助大家解决问题。

时间(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;           /**      * NIO read write test      *       * @author wutao      *       */     public class NioDemo extends TestCase {               public void testRead() throws IOException {                   int[] sizes = { 10000, 1000, 100, 50, 5, 1 };                   // Arrays.sort(sizes);                   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&trade; 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
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( );       }     }

关于“Java NIO性能测试的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI