atitit.
文件读写有以下几种常用的方法
1
2
3
文件大小:110m
行::55w
作者::老哇的爪子Attilax艾龙,EMAIL:1466519819@qq.com
转载请注明来源:
通常
publicstaticvoidmain(String[]args){
//SubstanceSaharaLookAndFeel
longt1=newDate().getTime();
filexfx=newfilex();
fx.readPerLine("e:\\ui.rar.txt","gbk",newScannerLineFilter4mail());
System.out.println("–f");
System.out.println(newDate().getTime()-t1);
}
publicclassScannerLineFilter4mailimplementsClosure{
intn=0;
@Override
publicObjectexecute(Objectarg0)throwsException{
n++;
if(n%10000==0)
System.out.println("—–:"+n);
//System.out.println(arg0);
returnnull;
}
nio读取或许越高的..
结果之一:NIO花费时间大概是BIO的三分之一少一点。(fromsite)
NIO
。AIO简化了程序的编写,stream的读取和写入都有OS来完成,不需要像NIO那样子遍历Selector。Windows基于IOCP实现AIO,Linux只有eppoll模拟实现了AIO。
Java7之前的JDK只支持NIO和BIO,从7开始支持AIO。
·
JavaBIO:同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。
·
·
JavaNIO:同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。
·
·
JavaAIO(NIO.2):异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理,
·
BIO、NIO、AIO适用场景分析:
·
BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,但程序直观简单易理解。
·
·
NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器,并发局限于应用中,编程比较复杂,JDK1.4开始支持。
·
·
AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用OS参与并发操作,编程比较复杂,JDK7开始支持。
·
JavaNIO
JavaNIO
BIO,NIO,AIO
JavaBIO
JavaNIO
所有的赏赐都只是被用来奖励工作成果的。