Ero curioso, vedo questo genere di cose molto:Il compilatore JDK ottimizza l'uso di classi anonime senza variabili di istanza?
Arrays.sort(array, new Comparator<Integer>() {
public int compare(Integer a, Integer b) {
return Math.abs(a) < Math.abs(b);
}
});
dal momento che la classe anonima creato qui non ci sono le variabili di istanza, è il compilatore standard JDK abbastanza intelligente da solo istanziare quella classe anonima, una volta e riutilizzarlo ? O è consigliabile istanziare quella classe anonima in un campo statico e passare sempre l'oggetto Comparator statico?
UPDATE: Quando dico "compilatore JDK", intendo la parte JIT troppo. Quanto sopra è anche solo un esempio. Ero davvero curioso se dovessi, come best practice, creare campi statici per quanto sopra invece di allineare istanze di classi anonime. In alcuni casi il problema dell'utilizzo delle risorse/prestazioni sarà trascurabile. Ma altri casi potrebbero non essere ...