Foros del Web » Programación para mayores de 30 ;) » Java »

Aplicacion Java de escritorio Lenta

Estas en el tema de Aplicacion Java de escritorio Lenta en el foro de Java en Foros del Web. Buenas tardes!!!!! MI problema reside en que tengo echa una aplicación de escritorio en java con jbuilder2006 con conexión a base de datos Access (si ...
  #1 (permalink)  
Antiguo 26/09/2007, 02:22
 
Fecha de Ingreso: abril-2007
Mensajes: 76
Antigüedad: 17 años
Puntos: 3
Pregunta Aplicacion Java de escritorio Lenta

Buenas tardes!!!!!
MI problema reside en que tengo echa una aplicación de escritorio en java con jbuilder2006 con conexión a base de datos Access (si debería utilizar MySQL pero es la se usa en la empresa y no soy quien,de momento, para cambiar por que he llegado yo xD). Arranca bien y todo eso pero después de utilizarla durante unos ratito, no muy largo, se empieza a ralentizarse bastante.
No entiendo por que sucede si me dieran una pequeña pista o como arreglarlo se lo agradecería mucho.
Un saludo.
  #2 (permalink)  
Antiguo 26/09/2007, 04:06
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Aplicacion Java de escritorio Lenta

Seguramente tengas un problema de consumo de memoria por que no limpias bien los recursos que utilizas. Entonces la memoria se va llenando poco a poco hasta que tienes poca memoria y la cosa va cada vez mas lenta.

Depurar ese tipo de cosas no es sencillo, pero es lo que hay. Para ello lo mejor es usar un "Java Memory Profiler" e ir mirando donde se consume memoria, por que no se libera, etc. etc.

S!
  #3 (permalink)  
Antiguo 26/09/2007, 05:12
 
Fecha de Ingreso: abril-2007
Mensajes: 76
Antigüedad: 17 años
Puntos: 3
Re: Aplicacion Java de escritorio Lenta

me puedes indicar como puedo visualizar el "java memory profiler" tengo la sensación que lo que hago es abrir muchas jframe y aunque las cierro con dispose() no me las elimina de memoria y eso al final me hace que consuma mucha memoria.

----edito----
He estado buscado programas para monitorizar estos objetos y no consigo saber como funciona ninguno asi de claro el unico que he conseguido ver algo es con jprofiler pero no lo entiendo mucho la verdad si eso te subo la imagen del programa

http://img216.imageshack.us/my.php?image=dibujoqf0.jpg

Última edición por Power_3L; 26/09/2007 a las 05:54
  #4 (permalink)  
Antiguo 26/09/2007, 06:58
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Aplicacion Java de escritorio Lenta

Un estudio de rendimiento de una aplicacion no se puede hacer así a través de un foro, ya que hace falta estar muy metido en la aplicacion y hacer muchas pruebas, configurando cosas etc.

Por algo la gente paga un buen dinero por los expertos que le hagan estas cosas. Así que si aprendes a usarlas como Dios manda, te irá de miedo.


Así en general, dispose() debería liberar la ventana, pero es no quiere decir que libere todo lo que hay dentro, si los elementos tienen referencias externas que no se eliminen, threads que no se paran como deberian, pools de recursos, suelen ser los sospechosos habituales.

S!
  #5 (permalink)  
Antiguo 17/01/2008, 16:01
 
Fecha de Ingreso: noviembre-2003
Mensajes: 27
Antigüedad: 20 años, 5 meses
Puntos: 0
Re: Aplicacion Java de escritorio Lenta

Pues muy valiosa tu información.
Mañana mismo nos vamos a poner a revisar todo esto que me cuentas.

Una última pregunta, entonces no es lo normal esto que nos pasa, no? Es decir, una vez revisado todo y puesto en condiciones, la memoria utilizada por este proceso apenas debería de crecer, y si debería de ir liberando ?

Saludos
  #6 (permalink)  
Antiguo 18/01/2008, 01:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Aplicacion Java de escritorio Lenta

Hombre, lo de que se quede estable para siempre depende del funcionamiento del programa, hay programas que tienen ciclos y van subiendo el consumo, luego lo bajan, etc.
Pero en algun tope se ha quedar, ya que si no no importa cuanta memoria le pongas que se acaba.

Así que, o la JVM tiene poca memoria y se le acaba antes de llegar al punto de equilibrio, o simplemente hay algo que no esta liberando bien las referencias y esta impidiendo que la memoria se libere.

En cualquiera de ambos casos, el que la aplicacion se vaya haciendo mas lenta es normal, ya que la JVM intenta liberar memoria desesperadamente y al final pasa mucho tiempo usando el Garbage Collector, lo que enlentece el programa.

S!
  #7 (permalink)  
Antiguo 18/01/2008, 11:05
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: Aplicacion Java de escritorio Lenta

Hola:

No sé si está corregido en las versiones modernas de java, pero en las versiones más antiguas los JFrame NO los libera el recolector de basura. La excusa de sun es que en una aplicación solo debe haber un JFrame que no se libera, puesto que es la ventana principal. El resto de ventanas son ventanas secundarias y deben ser JDialog.

De todas formas, como dice GreenEyed, es dificil en un foro saber el motivo real.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:40.