Si consideri il seguente codice:Java sta "memorizzando nella cache" classi anonime?
for(int i = 0;i < 200;i++)
{
ArrayList<Integer> currentList = new ArrayList<Integer>() {{
add(i);
}};
// do something with currentList
}
- che modo Java trattare la classe di
currentList
? - Lo considererà una classe diversa per ciascuno dei 200 oggetti?
- Sarà un successo in termini di prestazioni anche dopo la creazione del primo oggetto?
- E 'il caching in qualche modo?
Sono solo curioso :)
Afaik una classe anonima è una classe semplice con solo un nome generato. niente di più. Il caching viene eseguito come con ogni classe nel classloader. – ZeissS
in realtà questo genererà un errore del compilatore: 'i' non è definitivo, che sarebbe una cattiva idea per come contatore di loop. Ma una bella domanda! –