Ejemplo

public class ClassA {

public void makeStream() {

try {
Socket socket = new Socket();
socket.getOutputStream();
//realice alguna operación...

}
catch (IOException e) {
//secuencia de fuga...
}
}
}



Solución
Para evitar pérdidas de recursos, asegúrese de que se invoque close() en cada java.net.Socket.
Nota: esta regla se aplica a toda forma de constructor Socket.


public class ClassA {

public void makeStream() {

Socket socket = null;
try {
socket = new Socket();
socket.getOutputStream();
//realice alguna operación...

}
catch (IOException e) {
//realice alguna operación...

}
finally {
try {
socket.close();
}
catch(IOException e) {
//realice alguna operación...

}
}
}
}