Optimización de Aplicación
Como puedo optimizar mi aplicación desde mi código algunos Tips??
*Cerrar ResultSet
*Detruir variables de Session
*El System.gc()//Internet me dice que no es viable usarlo cual otro me pueden sugerir??
- Inicie sesión o regístrese para enviar comentarios
db pools
usa pool de conexiones a base de datos y mucho cuidado con el código que interactúa con la base de datos. Si puedes evitar el manejo directo de JDBC mejor. Si no vas a usar ningun ORM, entonces te recomiendo el SimpleJdbcTemplate de Spring.
muchas gracias estoy
muchas gracias estoy implementando un pool de conexiones espero que con esto mejore muchas gracias por la respuesta, saludos...
Es claro que se necesita un
Es claro que se necesita un conocimiento básico de la tecnología para evitar cometer errores graves durante la programación, pero en términos generales, deberías de preocuparte más, por tener un programa completo y correcto que puede ser después optimizado, con ayuda de un profiler, a que continuamente estés buscando optimizar tu código, sin una razón verdadera.
De nuevo, esto no quiere decir que debas de programar mal, al contrario, programando bien se evitan muchos errores de performance, pero como dijo Donald Knuth:
La optimización prematura, es la causa de todos los males ( aunque yo personalmente creo que la causa de todos los males es el copy/paste :P )
Una vez dicho esto, algo que te puede ayudar mucho es:
1.- Entiende como funciona el garbage collector de Java y como hacer que tus objetos en memoria sean recolectables cuando ya no se usan.
2.- Entiende como funciona I/O en Java y como impacta toda la información que mandas por ahí ( ya sea por la red o a disco )
3.- Entiende como funcionan los loops y revisa si no estás abusando de ellos.
Yo he encontrado que muchas veces los problemas de performance son una combinación de un desconocimiento de estos tres puntos. Por ejemplo, alguién mete en una lista millones de objetos y hace esa lista no recolectable, luego la manda por la red toda, toda, toda , pero toda la lista, sin importar que quizá necesite solo una decima parte y lo peor de todo es que hace esto en un loop sin control.
Las computadoras de hoy en día hacen maravillas con el CPU y RAM suficientes, pero no hay que abusar.
:P
Etc. Como te digo, mucho es cuestión de tener unas buenas bases sobre la plataforma que usas. Después, necesitas a fuerziori un profiler, que te dice más claramente donde puede haber cuellos de botella en tu aplicación.
sobre pool de conexion
hola que tal señor una consulta yo tengo corriendo un programa en java en un supermercado es una aplicacion de escritorio ...usted me dice que tal ves pueda optimizar mi aplicacion de escritorio en ves de usar jdbc//;http.com.mysq. etc.. usar un pool de conexion me dice que se puede tal ves hacer eso en aplicacion de escritorio y funcionaria mas ràpido ? que consejos me da?
es diferente
Los pools de conexiones son muy útiles en aplicaciones server-side porque optimizan el manejo de recursos para poder atender un montón de peticiones concurrentes. En una aplicación de escritorio normalmente se usa una conexión y ya, porque la aplicación atiende a un usuario.
Sin embargo no está de más usar un pool aunque tenga un número muy bajo de conexiones, ya que de este modo, se mantiene abierta la conexión al servidor de base de datos, en vez de establecer y cerrar conexiones cada vez que se interactúa con él.