CAAD
https://foro.caad.es/

Se busca experto en Java.
https://foro.caad.es/viewtopic.php?f=9&t=382
Página 1 de 1

Autor:  jenesis [ 10 Feb 2005 16:39 ]
Asunto:  Se busca experto en Java.

Estoy jugando una aventura en formato blb, con el intérprete "Zag", el caso es que cuando menos me lo espero, el juego se cuelga dando errores como estos:
"Exception in thread "main" java.lang.OutOfMemoryError"
"java.lang.OutOfMemoryError"
¿Es cosa del juego, o es cosa del intérprete?

Saludos
Jenesis

Autor:  Papada Soft [ 10 Feb 2005 16:45 ]
Asunto: 

Pues yo en mi inexperiencia diria que es cosa del interprete ya que me quiere sonar a que el propio juego haya rebasado la memoria disponible del interprete... aunque realmente seria dificil indicar la verdadera razon del error.

Podrian ser muy variopintas.

Autor:  Al-Khwarizmi [ 10 Feb 2005 16:51 ]
Asunto:  Re: Se busca experto en Java.

jenesis escribió:
Estoy jugando una aventura en formato blb, con el intérprete "Zag", el caso es que cuando menos me lo espero, el juego se cuelga dando errores como estos:
"Exception in thread "main" java.lang.OutOfMemoryError"
"java.lang.OutOfMemoryError"
¿Es cosa del juego, o es cosa del intérprete?


El motivo es que el intérprete (no sé si por sí­ mismo o porque el juego se lo manda, así­ a ojo es imposible de decir) intenta reservar más memoria de la que está disponible por defecto en la pila de la máquina virtual Java.

Esto puede ser por dos cosas: por algún fallo (objetos que se crean y permanecen creados, "memory leaks", etc.) o porque realmente la aventura necesite la memoria, por ser grande o compleja.

Si el motivo es el segundo, lo más seguro es que el problema tenga fácil arreglo: la máquina virtual de Java sólo usa por defecto (al menos en las versiones actuales que yo conozco) 64 MB de memoria como máximo; aunque el ordenador tenga mucha más RAM, y cuando se intenta pasar de ahí­ da ese error que te ha salido. Pero obviamente este máximo se le puede cambiar. Si estás ejecutando el Zag desde lí­nea de comandos con el comando "java algo", prueba a ejecutarlo con "java -Xmx512M -Xms512M algo", por ejemplo. O si lo ejecutas desde un script, edita la lí­nea correspondiente del script para que ponga eso. Con suerte te irá.

Autor:  jenesis [ 10 Feb 2005 17:56 ]
Asunto:  Re: Se busca experto en Java.

Al-Khwarizmi escribió:


Si el motivo es el segundo, lo más seguro es que el problema tenga fácil arreglo: la máquina virtual de Java sólo usa por defecto (al menos en las versiones actuales que yo conozco) 64 MB de memoria como máximo; aunque el ordenador tenga mucha más RAM, y cuando se intenta pasar de ahí­ da ese error que te ha salido. Pero obviamente este máximo se le puede cambiar. Si estás ejecutando el Zag desde lí­nea de comandos con el comando "java algo", prueba a ejecutarlo con "java -Xmx512M -Xms512M algo", por ejemplo. O si lo ejecutas desde un script, edita la lí­nea correspondiente del script para que ponga eso. Con suerte te irá.


¿64 megas poca memoria? :shock:
¿Tanto traga java? vaya, nunca lo hubiera imaginado...
De todos modos he probado a añadir eso que me dices, y me da error, tal vez porque no lo estoy haciendo correctamente o porque me faltan recursos o librerí­as, no sé...
Ahora estoy usando xglulxe, y parece que funciona, si bien creo que es una versión con parche, y no la que está en el if-archive.

Saludos
Jenesis

Autor:  Al-Khwarizmi [ 10 Feb 2005 19:25 ]
Asunto:  Re: Se busca experto en Java.

jenesis escribió:
¿64 megas poca memoria? :shock:
¿Tanto traga java? vaya, nunca lo hubiera imaginado...

No, java desde luego no traga eso ni mucho menos. Simplemente 64 MB es lo que suele venir configurado como el máximo que se le permite coger. Es decir, te garantiza que si un programa hecho en Java quiere reservar más memoria que eso dará error (es, por lo tanto, una manera de asegurarte que vas a tener memoria para tus otros usos). Pero si el programa se basta con menos memoria, te consumirá la que gaste el programa, no más. No echéis a Sun la culpa de todo, que la culpa es de los programadores :)

Y 64 MB es poco o mucho depende de para qué... mucho para un "hola mundo"; pero seguramente poco para un IDE, un servidor web, o cualquier otra aplicación compleja. No digo que sea el caso de esa aventura, ya digo que tal vez el fallo se deba a un error del programador (el programador de Zag, no el de la aventura, si dices que la aventura te funciona en otros intérpretes) que haya hecho algo como dejar un bucle infinito creando objetos, o alguna cosa similar.

Citar:
De todos modos he probado a añadir eso que me dices, y me da error, tal vez porque no lo estoy haciendo correctamente o porque me faltan recursos o librerí­as, no sé...

¿Cuando dices que te da error, quieres decir que te da el mismo error (OutOfMemoryError) o que te da algún error de sintaxis porque no reconoce lo de Xmx?

Autor:  jenesis [ 10 Feb 2005 20:43 ]
Asunto:  Re: Se busca experto en Java.

Al-Khwarizmi escribió:

¿Cuando dices que te da error, quieres decir que te da el mismo error (OutOfMemoryError) o que te da algún error de sintaxis porque no reconoce lo de Xmx?


Me da error de sintaxis, o de lo que sea, no es el error de (OutOfMemoryError), de todos modos he comprobado con el xglulxe (mardito nombrecito..) que la memoria consumida por la aventura es mí­nima, luego ha de ser un problema de zag.

Saludos
Jenesis

Página 1 de 1 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/