Re: memory management



On 31 Ott, 10:56, Thomas Kellerer <YQDHXVLMU...@xxxxxxxxxxxxx> wrote:
josh, 31.10.2007 10:22:

Hi, I have the following problem:

in a while loop I get from a db some records and in the same time
I put them with an insert preparedStatement in
a destination db but the jave process increase the memory until it
goes in out of memory.

How can I optimize that? also If I increase Tomcat java memory when I
process more than 500 records
tha java memory is already at 700mb of usage!

My guess is that you are buffering the retrieved rows somehow (or
keeping references to them). You will need to show us your code.

Thomas

ok I post the code:


st_from = conn.createStatement();

rs_from = st_from.executeQuery(query_from);

ps_into = conn_t.prepareStatement(insert_into);

int i_out_record = 0;
int i_in_record = 0;

while(rs_from.next())
{

i_out_record++;

out_record += "SELECT su record (" + i_out_record + ")";
in_record += "INSERT su record (";

row_error = rs_from.getString(campi_from[0]); // se errore su quale
id

for(int i=0; i < campi_from.length; i++)
{
out_record += campi_from[i] + "=" +
rs_from.getString(campi_from[i]) + "::" ;

ps_into.setString(i+1, rs_from.getString(campi_from[i])); //
prepara l'insert

in_values += campi_to[i] + "=" + rs_from.getString(campi_from[i])
+ "::" ;
}
out_record = out_record.substring(0, out_record.length()-2); //
tolgo il cancelletto finale

int res = ps_into.executeUpdate();

if(res != 0)
{
i_in_record++;
in_record += i_in_record + ")" + in_values;

// chiudi la statement
//ps_into.close();
}

out_record += "\n";
in_record += "\n";

/*
if(i_out_record > 10)
break;
*/
}

String log = "Per la tabella origine " + tabellaFrom + " processati
in uscita record: " + i_out_record + "\n";
log += "Per la tabella destinazione " + tabellaTo + " processati in
entrata record: " + i_in_record + "\n";
log += "-----------------------------------------------------------
\n";
log += out_record + in_record;

//out.print(st);
out.print(log);

}




.



Relevant Pages

  • Re: memory management
    ... I put them with an insert preparedStatement in ... a destination db but the jave process increase the memory until it ... goes in out of memory. ...
    (comp.lang.java.programmer)
  • memory management
    ... I put them with an insert preparedStatement in ... a destination db but the jave process increase the memory until it ... also If I increase Tomcat java memory when I ...
    (comp.lang.java.programmer)
  • Re: memcpy to PCI Adapter Memory
    ... I thus always dword align the destination before ... REP MOVSD in assembler code (which I don't use very often anymore ... >(i.e. checking for alignment, using largest word size possible), and others ... This is why a HAL routine to optimize memory moves ...
    (microsoft.public.development.device.drivers)
  • Re: BitBlt(,,,,,,,,dwRop)
    ... I am making bitmappasting operation from ... changed by source bitmap(here is clipboard). ... Get the "destination" bitmap and the ... Then use TransparentBlt to copy from the "destination" memory DC ...
    (microsoft.public.win32.programmer.gdi)
  • Re: Init big array data
    ... Using memcpy, ... After that the pointers to the ... The destination pointer is advanced, ... blocks of memory is not optimized for block-transfer of memory?! ...
    (comp.lang.c)