Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #16705

How can you make idle processors pick up java work?

From qwertmonkey@syberianoutpost.ru
Newsgroups comp.lang.java.programmer
Subject How can you make idle processors pick up java work?
Date 2012-07-31 12:30 +0000
Organization Aioe.org NNTP Server
Message-ID <jv8j5m$bp9$1@speranza.aioe.org> (permalink)

Show all headers | View raw


~ 
> You might have more luck reading the whole file at once 
~ 
 Well, this I have tried also, but I am getting java.lang.OutOfMemoryError:
Java heap space relating to the HeapCharBuffer
~ 
import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.channels.FileChannel;
import java.nio.MappedByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CodingErrorAction;
import java.nio.charset.CharacterCodingException;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FileInputStream;

// __
public class NIO06Test{
 private static final String aNWLn = System.getProperty("line.separator");
 private static final String aOEnc = "UTF-8";
// __ 
 public static void main(String[] aArgs){
  if((aArgs != null) && (aArgs.length == 1)){
// __ 
   long lTm00 = System.currentTimeMillis();

   Path IFlPth = FileSystems.getDefault().getPath(aArgs[0]);
   File IFl = IFlPth.toFile();
   if(IFl.exists()){
    long lIFlL = IFlPth.toFile().length();
// __ 
    Charset InChrSt = Charset.forName(aOEnc);
    CharsetDecoder InDec = InChrSt.newDecoder();
    InDec.onMalformedInput(CodingErrorAction.REPORT);
    InDec.onUnmappableCharacter(CodingErrorAction.REPORT);
// __ 
    try{ 
// __ 
     FileInputStream FIS = new FileInputStream(IFl);
     FileChannel IFlChnl = FIS.getChannel();
     int iChnlSz = (int)IFlChnl.size();
     MappedByteBuffer MptBytBfr = IFlChnl.map(FileChannel.MapMode.READ_ONLY,
0, iChnlSz);
     CharBuffer MptChrBfr = InDec.decode(MptBytBfr);
// __ 
    }catch(CharacterCodingException ChrKdX){ ChrKdX.printStackTrace(); }
     catch(FileNotFoundException FNFX){ FNFX.printStackTrace(); }
      catch(IOException IOX){ IOX.printStackTrace(); }
   }
  }
  else{ System.err.println("// __ usage:" + aNWLn + aNWLn + " java 
NIO2_newBufferedReader02Test \"<text file>\"" + aNWLn); }
 }
}
~ 
$ javac -encoding utf8 NIO06Test.java
$ date; java -Xms256m -Xmx1024m -Xincgc -Dfile.encoding=utf8 NIO06Test 
/media/sdb1/tmp/eng_news_2006_10M-sentences.txt; date;
Tue Jul 31 08:26:49 UTC 2012
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
 at java.nio.HeapCharBuffer.<init>(HeapCharBuffer.java:57)
 at java.nio.CharBuffer.allocate(CharBuffer.java:331)
 at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:777)
 at NIO06Test.main(NIO06Test.java:105)
Tue Jul 31 08:26:49 UTC 2012
~ 
 lbrtchx

Back to comp.lang.java.programmer | Previous | Next | Find similar | Unroll thread


Thread

How can you make idle processors pick up java work? qwertmonkey@syberianoutpost.ru - 2012-07-31 12:30 +0000

csiph-web