Quote Originariamente inviata da Mrk31 Visualizza il messaggio
Immagino di dover settare la dimensione dello heap, potresti dirmi come? E' possibile farlo a runtime?
A "runtime" (cioè dopo che la applicazione è già stata avviata) no. Solo nel momento in cui avvii la JVM.

java -Xmx800m .....blabla......

(per 800 MByte di heap massimo)

Vedi documentazione comando java

Quote Originariamente inviata da Mrk31 Visualizza il messaggio
In alternativa/aggiunta è possibile ottimizzare la lettura del file?
Al momento utilizzo BufferReader, splitto la riga csv in un'array di stringhe che passo al costruttore dell'oggetto Row, creato ad hoc che si occupa di effettuare il parsing dei vari valori.
Esiste un oggetto "più efficiente/parsimonioso" per leggere da file?
Bisognerebbe vedere in dettaglio i dati e il tuo codice. Così come l'hai detto, non mi pare male ma ripeto, bisognerebbe vedere i dettagli.
Diciamo che se ci sono tantissimi dati uguali, es. ci sono 50000 righe dove in un campo c'è scritto "pippo", a runtime terrai referenziati 50000 oggetti String distinti con lo stesso contenuto. Si potrebbe pensare di realizzare un sistema di "pooling" degli oggetti. Che è applicabile in generale per tutti gli oggetti "immutabili" (String, Integer, ecc...).