İçeriğe geç

Temizleme deseni eksik (ARCH4082)

Anahtar java.performance.dispose-pattern · Önem warning · Kategori performance

Bir sınıf AutoCloseable bir alana sahipse ama kendisi AutoCloseable uygulamıyorsa, sahip olduğu kaynağı serbest bırakmanın bir yolu yoktur ve kaynak sızar.

public class Repository {
private final Connection conn = openConnection();
// no way to close conn
}
public class Repository implements AutoCloseable {
private final Connection conn = openConnection();
@Override
public void close() throws SQLException {
conn.close();
}
}

Kapatılabilir alanlara sahip sınıflarda AutoCloseable uygulayın ve alanları close() içinde kapatın.