Java.lang.OutOfMemoryError: Java heap space

Prezados, tenho um problema com uma aplicação que usa socket e recebe um array. O problema é que se o array for grande (100000) ocorre o erro: 

Exception in thread “AWT-EventQueue-0” java.lang.OutOfMemoryError: Java heap space.
Já tentei quebrar o array em outros arrays para o envio/recebimento mas o mesmo ocorre. Usei o utilitário profiler que mostrou que durante o recebimento a grande utilização de memória até que dá erro. Ai tem o trecho de código da aplicação onde ocorre o erro.

        File [] meuArray=null;
        InputStream in = socket.getInputStream();
    ObjectInputStream receive= new ObjectInputStream(in);   
    meuArray=(File [])receive.readObject();                         //OCORRE ERRO!

Só ocorre erro durante o recebimento do objeto. Alguém tem idéia de como resolver isso.

Altere os argumentos -Xmx e -Xms

Se possível, altere o seu algoritmo para ler pequenas porções do array, processa-las e já enviar o resultado para o disco.

Altere o espaco alocado de memoria para a JVM com os argumentos -Xms(minimo) e -Xmx(maximo)…
Da uma olhada: http://www.guj.com.br/posts/list/43775.java

:wink:

Amigo, eu sempre digo: se você quer perder seu emprego, use ObjectInput/OutputStream com sockets.
Uma hora vão aparecer problemas que não serão possíveis de resolver sem rearquitetar sua solução.

[quote=Claudio Nazzari]Altere o espaco alocado de memoria para a JVM com os argumentos -Xms(minimo) e -Xmx(maximo)…
Da uma olhada: http://www.guj.com.br/posts/list/43775.java

:wink:[/quote]

Eu realmente acho isso uma solução paleativa. Uma boa arquitetura não deveria consumir toda memória da máquina para uma transmissão socket.

Vini minha opinião soma-se a sua.
Acredito que um programa bem estruturado não deveria render este consumo de memória,

e eu estou com este problema:
BD 130.000 registro.
preciso atualizar 1 a 1 destes registros em apenas um campo.

Preciso realmente trazer todos estes registros no meu ResultSet? ou posso quebrar em várias consultas sem perder o registro setado?

valeu pela força

Pq vc não usa simplesmente uma consulta de update?