trimToSize() sobre objetos Vectores y
ArrayList que hayamos creado con más tamaño del necesario, si no indicamos empiezan en 10 y se van duplicando según aumentamos los objetos que metemos dentro.
Comparaciones entre Strings, primero las constantes, para evitar el nullPointerException:
CONSTANTE.equals(variable);No concatenar Strings con el +, ya que esto crea un
String Buffer por cada + usado y lo destruye con cada más
String Str_mensaje = Str_cad1 + Str_cad2 + Str_cad3 + Str_cad4;//MEJOR:
String Str_mensaje = null;StringBuffer Sbf_bufMensaje = new StringBuffer();Sbf_bufMensaje.append(Str_cad1);Sbf_bufMensaje.append(Str_cad2);Sbf_bufMensaje.append(Str_cad3);Sbf_bufMensaje.append(Str_cad4);Str_mensaje = Sbf_bufMensaje.toString();Cuando dejamos de usar un objeto o variable, asignarle un null, para que el recolector de basura lo interprete como tal y lo borre. Para los collection, utilizar el clear cuando dejemos de usarlo.
Si un bucle puede terminar de forma descontrolada, es mejor poner la condición y no recorrer un objeto, (típica búsqueda de un valor en una lista)
Las excepciones son muy costosas, y no deben utilizarse para hacer un flujo lógico, sino para controlar casos excepcionales.
En inglés podeís encontrar en
esta página, una gran cantidad de Buenas prácticas