Qual è uno dei pochi principali cambiamenti da Java 6 a Java 7, JBoss non potrebbe farlo già con Java 5? [duplicare]

0

Un amico ha detto oggi che una modifica tra v6 e v7 è che v7 chiuderà per esempio la connessione al database "automaticamente" ma JBoss non potrebbe farlo già con Java 5? Ho visto "JBoss sta chiudendo la connessione per te". nei log di JBoss molti anni fa con Java 5 (o addirittura 4). Cosa pensi? Ho quasi letto la stessa domanda qui ma non esattamente:

Come giustificare la migrazione da Java 6 in Java 7?

La risposta alla domanda di cui sopra non elenca la funzione di cui stavamo parlando stamattina. Cosa significava il mio amico? Quale pensi che sia l'unica o le poche importanti modifiche tecniche? Capisco che Java 6 non supporti più, ma questa è una politica e non l'analisi diff tra v6 e v7.

    
posta Niklas Rosencrantz 03.09.2013 - 17:37
fonte

1 risposta

5

Il nome di questa funzione è gestione automatica delle risorse del Progetto Coin funziona per flussi e connessioni:

static void copy(String src, String dest) throws IOException {
    InputStream in = new FileInputStream(src);
    try {
        OutputStream out = new FileOutputStream(dest);
        try {
            byte[] buf = new byte[8 * 1024];
            int n;
            while ((n = in.read(buf)) >= 0)
                out.write(buf, 0, n);
        } finally {
            out.close();
        }
    } finally {
        in.close();
    }
} 

diventa:

static void copy(String src, String dest) throws IOException {
    try (InputStream in = new FileInputStream(src);
         OutputStream out = new FileOutputStream(dest)) {
        byte[] buf = new byte[8192];
        int n;
        while ((n = in.read(buf)) >= 0)
            out.write(buf, 0, n);
    }
}
    
risposta data 03.09.2013 - 17:46
fonte

Leggi altre domande sui tag