OutOfMemoryError

Alejandro
24 de Mayo del 2006
Saludos compañeros, en mi aplicacion tengo k rellenar un vector de strings y se llena de tal manera k me da un error de OutOfMemoryError, como lo podria solucionar ??? Gracias y espero vuestra ayuda.

chuidiang
24 de Mayo del 2006
Hola:

Por un lado revisa que no te metes en bucles infinitos ni llamas recursivamente a la misma función. Si es así, se te llenará siempre, hagas lo que hagas.

Si realmente tienes una cantidad ingente de datos, puedes arrancar la máquina virtual dándole más memoria así

java -Xmx300M ...

Lo de 300M es para darle 300 Megas. Pon el número que consideres adecuado.

Se bueno

Alejandro
24 de Mayo del 2006
Primero tengo una lista con mil cadenas, que pueden ser de cualquier longitud, y luego con cada cadena lleno el vector con cada letra de la cadena, por ejemplo si en la lista tengo
abbac
acca
acb
pues en el vector guardo:
a ab abb abba abbac a ac acc acca a ac acb .....
y al meter 1000 cadenas en la lista y de mucha longitud maxima, de 100 caracteres, es cuando me rompe.

Alejandro
24 de Mayo del 2006
Pero aumentarle la memoria virtual al lanzar el proceso de java no seria un poco chapucero a la hora de programar, es decir, no quedaria demasiado bien verdad ??? Gracias.

chuidiang
24 de Mayo del 2006
Hola:

1000 cadenas de longitud variable, pero estilo las que indicas (9 ó 10 caracteres) no es mucho y debería caberte sin problemas.

Si no te cabe, no queda más remedio que aumentar la memoria o usar cosas como guardar en fichero y cargar en memoria solo con lo que estás trabajando.

Si miras programas realmente grandes en java (como eclipse, together, etc), todos amplian la memoria de la máquina virtual como te he dicho.

Se bueno