Re: [Jug-Torino] Tuples in Java 8 streams

2018-12-06 Thread Uberto Barbini uberto.g...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-12-02 Thread Uberto Barbini uberto.g...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-12-02 Thread Federico Fissore feder...@fsfe.org [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-12-02 Thread Uberto Barbini uberto.g...@gmail.com [it-torino-java-jug]
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ù

Re: [Jug-Torino] Tuples in Java 8 streams

2018-12-01 Thread Matteo Vaccari matteo.vacc...@gmail.com [it-torino-java-jug]
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.

Re: [Jug-Torino] Tuples in Java 8 streams

2018-12-01 Thread Matteo Vaccari matteo.vacc...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-30 Thread Federico Fissore feder...@fsfe.org [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-30 Thread Uberto Barbini uberto.g...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-30 Thread Simone Bordet simone.bor...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-30 Thread 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 ciclo di vita della "tupla" è uguale o simile a quello di quella classe; altrimenti è un memory leak da tenere sotto controllo Federico Simone Bordet

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-29 Thread Riccardo Tasso riccardo.ta...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-29 Thread Uberto Barbini uberto.g...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-29 Thread Uberto Barbini uberto.g...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-29 Thread Simone Bordet simone.bor...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-29 Thread Roberto Franchini ro.franch...@gmail.com [it-torino-java-jug]
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

Re: [Jug-Torino] Tuples in Java 8 streams

2018-11-29 Thread Riccardo Tasso riccardo.ta...@gmail.com [it-torino-java-jug]
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

[Jug-Torino] Tuples in Java 8 streams

2018-11-28 Thread Simone Bordet simone.bor...@gmail.com [it-torino-java-jug]
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 =