Ecco alcune informazioni.
dal seguente link http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-final.html: Questo ha un risvolto benefico per la gestione della memoria: mentre le istanze di classe interni tengono sempre un forte riferimento alla loro istanza allegando, lambda che non catturano membri dall'istanza che racchiude non tenere un riferimento alla esso. Questa caratteristica di istanze di classi interne spesso può essere una fonte di perdite di memoria (il cosiddetto problema ascoltatore decaduta)
È anche possibile vedere http://docs.oracle.com/javase/tutorial/java/javaOO/whentouse.html dal testo: classe annidata: Usalo se le vostre esigenze sono simili a quelli di una classe locale, si desidera rendere il tipo più ampiamente disponibile e non è necessario accedere alle variabili locali o ai parametri del metodo.
Utilizzare una classe nidificata non statica (o classe interna) se è necessario accedere ai campi e ai metodi non pubblici di un'istanza di inclusione. Utilizzare una classe nidificata statica se non si richiede questo accesso.
fonte
2015-02-11 05:10:27
stai chiedendo circa lambda regolari o il bytecode prodotto da Retrolambda? Se stai chiedendo informazioni sui lambda regolari, che cosa ha a che fare Retrolambda con la domanda? – Radiodef
Dalla mia comprensione, retrolambda usa Java8 per produrre bytecode, e la risposta potrebbe essere valida per entrambi. –