Java: Crear una fuga de memoria (Memory Leak) (1)



Campos estáticos manteniendo una referencia de objeto (static final...)
class MemorableClass {
    static final ArrayList list = new ArrayList(100);
}
Llamar String.intern() en un String muy largo
String str=readString(); // leer de cualquier fuente db,textbox/jsp etc..
// Esto hará que la string se vaya a el pool de memoria, y no se podrá remover
str.intern();
Streams no cerrados (de archivo, de red, etc)
try {
    BufferedReader br = new BufferedReader(new FileReader(inputFile));
    ...
    ...
} catch (Exception e) {
    e.printStacktrace();
}
Conecciones no cerradas
try {
    Connection conn = ConnectionFactory.getConnection();
    ...
    ...
} catch (Exception e) {
    e.printStacktrace();
}
Puedes ver mas en la siguiente entrada de esta serie, en el post "Java: Crear una fuga de memoria (Memory Leak) (2)"

No hay comentarios:

Publicar un comentario