OutOfMemoryError

Hola, mi pregunta es la siguiente:
Estoy creando un applet que utiliza varias estructuras complejas y que maneja una gran cantidad de datos (a nivel local, sin bds de por medio). El problema viene en un método que hace unas cuantas llamadas recursivas y va llenando estas estructuras hasta que en un momento me da un error de memoria. Se que con el comando "java -Xmx128M miAplicacion.class" se puede ampliar la memoria de la JVM, pero al tratarse de un applet, ¿hay alguna forma de hacerlo por código? O se tiene que especificar en el html, ¿o no es posible?
Gracias, Alex.

1 respuesta

Respuesta
1
Tu problema es que tu algoritmo recursivo desborda la pila, por mucha memoria que le asignes, antes o después, debido a la naturaleza de los datos lo acabara volviendo a desbordar.
Por lo general, todos los algoritmos recursivos pueden recodificarse a una version iterativa, mucho más optima y con menor consumo de memoria.
Yo te recomendaría que intentases esta opción, en java, al ser un lenguaje interpretado, no es muy recomendable abusar demasiado de la recursion.
Aunque también puedes revisar tu algoritmo actual a ver si comete algún tipo de error que provoque el desbordamiento de memoria.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas