Använda AutoCloseable och undvika checked exceptions
Om man vill använda AutoCloseable i Java 7 och högre ser man ganska snabbt att metoden close kastar Exception:
public interface AutoCloseable { 
    void close() throws Exception; 
}
Detta gör en inte glad om man vill undvika checked exceptions. En implementation enligt följande:
public class Resource implements AutoCloseable { 
    @Override
    public void close() throws Exception { 
        //stäng något 
    }
}
leder nämligen till att man måste hantera Exception på något sätt i try-blocket:
try(Resource r = new Resource()) { 
    // gör något med r 
} catch(Exception e) { 
    //hantera e som vi inte ville ha från början 
}
Nyckelinsikten här är att man kan overrida metoder som slänger checked exceptions med sådana som inte gör detta (se JLS §8.4.8.3). Just detta omnämns även i dokumentationen till AutoCloseable.html#close(). Så vi kan implementera utan att slänga exceptions:
public class Resource implements AutoCloseable { 
    @Override
    public void close() { 
        //stäng något
    }
}
Detta gör att vi kan ha en try utan checked-exception hantering:
try(Resource r = new Resource()) { 
    // gör något med r
}
Mission accomplished.