Java Heap Spazio eccezione, con grandi quantità di dati, qualsiasi soluzione?
-
30-09-2019 - |
Domanda
ho un grosso problema con la memoria litle java heap Sto cercando di migrare da Oracle Database 11g per file di Access 2007
Questo non è un problema di sotto 65.000 record, ora da lì ... L'aplication sta gettando eccezione mucchio java, il consumo di memoria sta sollevando oltre 600m e l'utilizzo della CPU oltre il 50% fino eccettuati.
Per quanto ne so il rset.next () non si ottiene tutti i dati (oltre 50 colonne x 65.000 fila), ma alcuni record x tempo Provo hai da set dimensioni di raccolta troppo, non è successo niente
rset.setFetchSize(1000);
Ho cancellare il mio codice e mostrano un'uscita, lo stesso errore
while (rset.next()) {
if (cont % 5000 == 0) {
System.out.println(cont + " proccesed and counting ...");
}
}
per favore non mi danno la risposta di utilizzare -xm (s, x) 512, 1024, ecc ... questo potrebbe risolvere, non nel mio caso particolarmente (ho tryied per impostare questo ancora più in alto xD, nulla è accaduto, ho ottenuto la stessa eccezione a 65.000 record di troppo)
C'è qualche altre opzioni ho potuto provare ??, meaby cambiare alcune configurazioni dei driver o conections stringa ?? Si prega di aiutare
dispiace aboubt il mio inglese
questo è il mio collegamento:
Class.forName("oracle.jdbc.driver.OracleDriver");
this.conn = DriverManager.getConnection("jdbc:oracle:thin:@" + getServer() + ":1521:orcl", getUser(), getPassword());
this.stmt = this.conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_UPDATABLE);
Soluzione
Sembra che il problema è che si sta utilizzando uno Scrollable ResultSet e che sta andando a utilizzare più memoria.