Salve a tutti,
sto leggendo da un file testuale una matrice 50000x50000

codice:
while ((row= bufRead.readLine()) != null) 
   { Runtime run = Runtime.getRuntime(); 
      long freeMem = run.freeMemory(); 
      System.out.println("free memory: " + freeMem); 
      riga = row.split("[ ]+");
      .
      .
       //niente che occupi la memoria
     }
mi aspettavo o che flippasse alla prima riga o mai. Invece riesce ad esaminare più di 2000 righe prima di dare "java.lang.OutOfMemoryError: Java heap space" lanciato sullo split. La dichiarazione della riga è fuori dal ciclo quindi dovrebbe esisterne solo una. Inoltre se come vedete stampo la memoria libera vedo che ce nè ancora molta. é normale quindi che lanci questa eccezione? Grazie