Cosi' e' e non c'e' molto da fare, ma in realta' il mio caso d'uso
funzionava benissimo con le static inner class.
Avevo definito gli oggetti immutabili di dominio come interfacce in un
bundle (modulo) shared, ogni bundle che doveva crearne una istanza (per
esempio il DAO e il modulo che riceveva
Ciao Federico e grazie per le interessanti osservazioni.
Sinceramente a me non interessa moltissimo il "trucco" delle tuple anonime,
carino ma insomma non lo userei in produzione, leak o non leak.
Il pattern del doppio curlybraces poi non l'ho mai potuto soffrire.
La cosa che invece mi ha un
Matteo Vaccari matteo.vacc...@gmail.com [it-torino-java-jug] ha scritto
il 01/12/18 alle 19:42:
>
> Non e' ovvio! Grazie per avermelo ricordato.
>
Prego e grazie per il grazie. Come dice il saggio, è l'unica parola che
non perde mai valore, anche detta migliaia di volte.
Mi scuso se ho
esatto. sinceramente non avevo mai fatto che le classi anonime fossero
anche inner class.
non lo chiamerei esattamente memory leak perché non perdi l'accesso alla
referenza, però è da tener presente.
credo che se le fai generare da un metodo statico sei tranquillo, ma vorrei
fare dei tests più
Ah ho capito.
Le classi anonime sono inner class, e quindi hanno un riferimento
> alla classe padre, piaccia o no
Non e' il riferimento alla classe padre che puo' causare un leak, e' che
*l'istanza* della classe anonima contiene un riferimento all'*istanza* della
classe che la contiene.
Spiegatemi questa cosa perché temo di non averla capita: se io creo una
classe anonima con new Object() { }, la classe viene creata una volta
per tutte, indipendentemente dal numero di volte che il frammento di codice
viene eseguito? Oppure viene creata una classe nuova ogni volta che lo
Simone Bordet simone.bor...@gmail.com [it-torino-java-jug] ha scritto il
30/11/18 alle 13:29:
> Ciao,
>
>
> On Fri, Nov 30, 2018 at 1:24 PM Federico Fissore feder...@fsfe.org
> [it-torino-java-jug] wrote:
>>
>>
>>
>> Molto figo, ma attenzione ai memory leak
>>
>> Una Inner class tiene in
dovrebbero essere tutti distrutti alla fine dello stream, no?
On Fri, 30 Nov 2018, 12:24 Federico Fissore feder...@fsfe.org
[it-torino-java-jug]
>
> Molto figo, ma attenzione ai memory leak
>
> Una Inner class tiene in automatico un riferimento alla classe che l'ha
> creata. Tutto ok finchè il
Ciao,
On Fri, Nov 30, 2018 at 1:24 PM Federico Fissore feder...@fsfe.org
[it-torino-java-jug] wrote:
>
>
>
> Molto figo, ma attenzione ai memory leak
>
> Una Inner class tiene in automatico un riferimento alla classe che l'ha
> creata.
Non mi risulta. Hai dei links?
> Tutto ok finchè il ciclo
Molto figo, ma attenzione ai memory leak
Una Inner class tiene in automatico un riferimento alla classe che l'ha
creata. Tutto ok finchè il ciclo di vita della "tupla" è uguale o simile
a quello di quella classe; altrimenti è un memory leak da tenere sotto
controllo
Federico
Simone Bordet
Il giorno gio 29 nov 2018 alle ore 14:28 Uberto Barbini
uberto.g...@gmail.com [it-torino-java-jug] <
it-torino-java-jug@yahoogroups.com> ha scritto:
>
>
> La classe dovrebbe essere una sola, definita a compile time, quando la
> lambda viene "de-sugared"
>
Si ecco, era proprio questo che mi stavo
Ho appena letto la stessa cosa.
Non ho (ancora) provato ma non mi ero mai reso conto che new Object(){}
effettivamente crea una nuova classe derivata.
Pensavo funzionasse solo con le interfacce.
Funziona da java8 immagino ma solo ora qualcuno lo ha scoperto? :)
Uberto
On Wed, 28 Nov 2018 at
La classe dovrebbe essere una sola, definita a compile time, quando la
lambda viene "de-sugared"
Uberto
On Thu, 29 Nov 2018 at 09:04, Riccardo Tasso riccardo.ta...@gmail.com
[it-torino-java-jug] wrote:
>
>
> Sicuramente è un bel trick, ma non è costoso creare una inner class per
> ogni
Ciao,
On Thu, Nov 29, 2018 at 10:04 AM Riccardo Tasso
riccardo.ta...@gmail.com [it-torino-java-jug]
wrote:
> Sicuramente è un bel trick, ma non è costoso creare una inner class per ogni
> elemento dello stream?
Se ti serve una tupla, allocheresti comunque una classe Pair o Tuple
per portare
On Thu, Nov 29, 2018 at 10:04 AM Riccardo Tasso riccardo.ta...@gmail.com
[it-torino-java-jug] wrote:
>
>
> Sicuramente è un bel trick, ma non è costoso creare una inner class per
> ogni elemento dello stream?
>
Per l'esempio si'.
Per un caso reale, in cui probabilmente mapperesti lo stream su
Sicuramente è un bel trick, ma non è costoso creare una inner class per
ogni elemento dello stream?
Il giorno mer 28 nov 2018, 21:42 Simone Bordet simone.bor...@gmail.com
[it-torino-java-jug] ha scritto:
>
>
> Ho appena letto la newsletter "Java Specialist" di Heinz Kabutz, dove
> riporta che
Ho appena letto la newsletter "Java Specialist" di Heinz Kabutz, dove
riporta che Henri Tremblay ha trovato un modo di usare le tuple negli
streams di Java 8:
Arrays.asList("1", "22", "333").stream()
.map(v -> new Object() {
String value = v;
int length =
17 matches
Mail list logo