¿Como solucionar un ERROR?
Un saludo al que lea el mensaje.
Al ejecutar una aplicación se produce el siguiente error, "java.lang.OutOfMemoryError"
y en el ordenador tengo memoria suficiente ¿a que puede deberse este error? lo curioso es que el error se produce al iniciar (dentro de la misma aplicación) un nuevo JFrame.
Muchas gracias por vuestras respuestas.
Al ejecutar una aplicación se produce el siguiente error, "java.lang.OutOfMemoryError"
y en el ordenador tengo memoria suficiente ¿a que puede deberse este error? lo curioso es que el error se produce al iniciar (dentro de la misma aplicación) un nuevo JFrame.
Muchas gracias por vuestras respuestas.
Por favor. Como puedo aumentar la memoria de la JVM en Tomcat 5 sobre W2003 Server?
Me da un OutOfMemoryError. Muchas gracias!!!! ...
Me da un OutOfMemoryError. Muchas gracias!!!! ...
Hola!
Creo que Java proporciona 64 Megas por defecto. Esto se puede modificar si cuando ejecutas tu aplicación pones el parámetro -Xmx"n"M, donde "n" es el número de Megas que quieres, por ejemplo:
java -Xmx128M miAplicacion.class
Se ejecutarÃa con 128 Megas de memoria.
Para detectar errores tienes que hacer lo mismo que con las Excepciones, en tu caso:
try {
}
catch (OutOfMemoryError e) {
}
el problema está en que si lo pones por ejemplo en el main() seguro que no recogerás el error. Para detectarlos tienes que saber más o menos donde se producen (cuando crees variables que necesiten mucha memoria, por ejemplo) y poner el bloque try/catch ahÃ.
De todos modos me parece un poco raro que te quedes sin memoria nada más arrancar la aplicación. Comprueba que no creas variables que usen mucha memoria (arrays, buffers, etc). Un simple GUI (JFrame, Jbutton, etc) no deberÃa darte problemas de memoria.
Otra cosa que podrÃas hacer es sacar por consola (DOS) println's de la memoria utilizada y la memoria libre (Runtime.getRuntime().totalMemory() y Runtime.getRuntime().freeMemory()).
Luismahou
Creo que Java proporciona 64 Megas por defecto. Esto se puede modificar si cuando ejecutas tu aplicación pones el parámetro -Xmx"n"M, donde "n" es el número de Megas que quieres, por ejemplo:
java -Xmx128M miAplicacion.class
Se ejecutarÃa con 128 Megas de memoria.
Para detectar errores tienes que hacer lo mismo que con las Excepciones, en tu caso:
try {
}
catch (OutOfMemoryError e) {
}
el problema está en que si lo pones por ejemplo en el main() seguro que no recogerás el error. Para detectarlos tienes que saber más o menos donde se producen (cuando crees variables que necesiten mucha memoria, por ejemplo) y poner el bloque try/catch ahÃ.
De todos modos me parece un poco raro que te quedes sin memoria nada más arrancar la aplicación. Comprueba que no creas variables que usen mucha memoria (arrays, buffers, etc). Un simple GUI (JFrame, Jbutton, etc) no deberÃa darte problemas de memoria.
Otra cosa que podrÃas hacer es sacar por consola (DOS) println's de la memoria utilizada y la memoria libre (Runtime.getRuntime().totalMemory() y Runtime.getRuntime().freeMemory()).
Luismahou
Muchas gracias por la respuesta.
El problema de memoria surge porque estoy utilizando un programa llamado GLG para diseño de Interface que utiliza muchos "dibujitos" y consume mucha memoria, en principio voy a tratar de modificar la memoria utilizada tal y como me propones.
El problema de memoria surge porque estoy utilizando un programa llamado GLG para diseño de Interface que utiliza muchos "dibujitos" y consume mucha memoria, en principio voy a tratar de modificar la memoria utilizada tal y como me propones.