-
@Suora: Java`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
Re: @Suora: JavaScritto da: Giambo
>http://www.reddit.com/r/java/comments/qepq5/share_...

Le mie prefeite nella standard library sono URLClassLoader, ByteArrayInputStream, ByteArrayOutputStream, ObjectInputStream e ObjectOutputStream.
Young professional woman and busy mom.-
Re: @Suora: JavaScritto daavvelentaniCubicolarioil 2012-03-06 08:50:36.0 alle 2012-03-06 08:50:36.0Trollate totali: 18184La mia preferita e` ThreadLocal
I think happiness is love
- Vladimir Putin-
Re: @Suora: JavaScritto da: avvelentani
> La mia preferita e` ThreadLocal
Infatti mi pare di aver notato un pattern comportamentale nell'utilizzo di ThreadLocal molto simile all'ossessione di Mattia
...
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: @Suora: JavaScritto daavvelentaniCubicolarioil 2012-03-06 09:02:19.0 alle 2012-03-06 09:02:19.0Trollate totali: 18184Scritto da: Giambo
> Scritto da: avvelentani
> > La mia preferita e` ThreadLocal
>
> Infatti mi pare di aver notato un pattern comportamentale nell'utilizzo di ThreadLocal molto simile all'ossessione di Mattia
...
ThreadLocal risolve tutti i problemi.I think happiness is love
- Vladimir Putin-
Re: @Suora: JavaScritto da: avvelentani
> Scritto da: Giambo
> > Scritto da: avvelentani
> > > La mia preferita e` ThreadLocal
> >
> > Infatti mi pare di aver notato un pattern comportamentale nell'utilizzo di ThreadLocal molto simile all'ossessione di Mattia
...
>
> ThreadLocal risolve tutti i problemi.
Purtroppo nei container ejb non puoi farci affidamento nel comportamento di threadlocal, mi sarebbe piaciuto usarlo più volte, ma ibm dice di non farlo.Young professional woman and busy mom.-
Re: @Suora: JavaScritto daavvelentaniCubicolarioil 2012-03-06 09:07:12.0 alle 2012-03-06 09:07:12.0Trollate totali: 18184Scritto da: ::1
> Scritto da: avvelentani
> > Scritto da: Giambo
> > > Scritto da: avvelentani
> > > > La mia preferita e` ThreadLocal
> > >
> > > Infatti mi pare di aver notato un pattern comportamentale nell'utilizzo di ThreadLocal molto simile all'ossessione di Mattia
...
> >
> > ThreadLocal risolve tutti i problemi.
>
> Purtroppo nei container ejb non puoi farci affidamento nel comportamento di threadlocal, mi sarebbe piaciuto usarlo più volte, ma ibm dice di non farlo.
Perche'?
I think happiness is love
- Vladimir Putin-
Re: @Suora: JavaScritto da: avvelentani
> Scritto da: ::1
> > Scritto da: avvelentani
> > > Scritto da: Giambo
> > > > Scritto da: avvelentani
> > > > > La mia preferita e` ThreadLocal
> > > >
> > > > Infatti mi pare di aver notato un pattern comportamentale nell'utilizzo di ThreadLocal molto simile all'ossessione di Mattia
...
> > >
> > > ThreadLocal risolve tutti i problemi.
> >
> > Purtroppo nei container ejb non puoi farci affidamento nel comportamento di threadlocal, mi sarebbe piaciuto usarlo più volte, ma ibm dice di non farlo.
>
> Perche'?
Perché nel `salto` da un ejb ad un altro potresti venire eseguito da un altro thread, inoltre l'ejb che attende la risposta potrebbe venire messo in pausa ed essere ripreso da un altro thread.
Infine, un po' di tempo fa proprio perché mi interessava l'argomento mi sono imbattuto in questo:
http://www.devwebsphere.com/devwebsphere/2005/06/d...
Young professional woman and busy mom.
-
-
-
Re: @Suora: JavaScritto da: avvelentani
> > > La mia preferita e` ThreadLocal
> >
> > Infatti mi pare di aver notato un pattern comportamentale nell'utilizzo di ThreadLocal molto simile all'ossessione di Mattia
...
>
> ThreadLocal risolve tutti i problemi.
Molto molto utile, ma non risolve tutti i problemi.
A memoria, avevamo un problema con Borland Application Server (Esiste ancora ?) load-balanciato e fault-tollerato su due macchine.
Non mi ricordo esattamente cos'era, ma mi ricordo che alla fine la Borland disse che loro rispettavano le specifiche e che il problema era di come noi abusavamo di ThreadLocal (
)
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
-
-
-
Re: @Suora: JavaScritto da: ::1
> >http://www.reddit.com/r/java/comments/qepq5/share_...

>
> Le mie prefeite nella standard library sono URLClassLoader, ByteArrayInputStream, ByteArrayOutputStream, ObjectInputStream e ObjectOutputStream.
Io ho a che fare spesso con tutto il Collections Framework.
Poco conosciuti (= Molti reinventano la ruota) sono i metodi statici di Collections e Arrays.
Se fossiSUNOracle includerei StringUtils di Apache nel JDK. Pero' farei attenzione a implementare in maniera coerente:public static boolean isNotEmpty(String str) { return ((str != null) && (str.length() > 0)); } public static boolean isEmpty(String str) { return ((str == null) || (str.trim().length() == 0)); }
Una volta trimma, l'altra no
Poi hanno corretto nelle versioni successive, ma oramai io mi sono abituato a usare StringUtils.isEmpty() e !StringUtils.isEmpty()
...
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: @Suora: JavaScritto da: Giambo
> Scritto da: ::1
>
> > >http://www.reddit.com/r/java/comments/qepq5/share_...

> >
> > Le mie prefeite nella standard library sono URLClassLoader, ByteArrayInputStream, ByteArrayOutputStream, ObjectInputStream e ObjectOutputStream.
>
> Io ho a che fare spesso con tutto il Collections Framework.
> Poco conosciuti (= Molti reinventano la ruota) sono i metodi statici di Collections e Arrays.
>
> Se fossiSUNOracle includerei StringUtils di Apache nel JDK. Pero' farei attenzione a implementare in maniera coerente:
>
>> public static boolean isNotEmpty(String str) > { > return ((str != null) && (str.length() > 0)); > } > public static boolean isEmpty(String str) > { > return ((str == null) || (str.trim().length() == 0)); > } >
>
> Una volta trimma, l'altra no
> Poi hanno corretto nelle versioni successive, ma oramai io mi sono abituato a usare StringUtils.isEmpty() e !StringUtils.isEmpty()
...
>
Dal suoranciata's StringUtils:public static boolean nullOrEmpty(String s) { return s == null || s.equals(""); } public static boolean nullOrEmptyTrim(String s) { return s == null || ("").equals(s.trim()); }Young professional woman and busy mom.-
Re: @Suora: JavaScritto da: ::1
> Dal suoranciata's StringUtils:
>> public static boolean nullOrEmpty(String s) { > return s == null || s.equals(""); > } > public static boolean nullOrEmptyTrim(String s) { > return s == null || ("").equals(s.trim()); > } >
Oppure usi isBlank() di commons-lang 2, che checka anche se la stringa e' formata da blanks (Avvelentani: In maniera efficiente, non chiamando trim() ma iterando sui caratteri finche' non trova un non-blank)
Oppure usi Giambo's version:boolean maQuestaStringEVuota(String stringa) { if (stringa.trim() == "") return true; if (stringa == null) return true; }
Non funziona perfettamente e a volte ho degli strani NPE
...
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: @Suora: JavaScritto daavvelentaniCubicolarioil 2012-03-06 10:14:18.0 alle 2012-03-06 10:14:18.0Trollate totali: 18184Scritto da: Giambo
> Scritto da: ::1
>
> > Dal suoranciata's StringUtils:
> >> > public static boolean nullOrEmpty(String s) { > > return s == null || s.equals(""); > > } > > public static boolean nullOrEmptyTrim(String s) { > > return s == null || ("").equals(s.trim()); > > } > >
>
> Oppure usi isBlank() di commons-lang 2, che checka anche se la stringa e' formata da blanks (Avvelentani: In maniera efficiente, non chiamando trim() ma iterando sui caratteri finche' non trova un non-blank)
Supporta correttamente tutti e 26 i caratteri whitespace di unicode?http://en.wikipedia.org/wiki/Whitespace_character

I think happiness is love
- Vladimir Putin-
Re: @Suora: JavaScritto da: avvelentani
> > Oppure usi isBlank() di commons-lang 2, che checka anche se la stringa e' formata da blanks (Avvelentani: In maniera efficiente, non chiamando trim() ma iterando sui caratteri finche' non trova un non-blank)
>
> Supporta correttamente tutti e 26 i caratteri whitespace di unicode?
http://docs.oracle.com/javase/6/docs/api/java/lang...
Stai pensando di registrare "The Lich" con un whitespace strano li' in mezzo
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
-
-
-
Re: @Suora: JavaScritto daavvelentaniCubicolarioil 2012-03-06 09:06:45.0 alle 2012-03-06 09:06:45.0Trollate totali: 18184Il fatto che StringUtils.isEmpty chiami trim() mi ha sempre infastidito profondamente, primo perche' una stringa contenente spazi non e` vuota, secondo perche' potrebbe essere implementato in maniera piu` efficiente.I think happiness is love
- Vladimir Putin-
Re: @Suora: JavaScritto da: avvelentani
> Il fatto che StringUtils.isEmpty chiami trim() mi ha sempre infastidito profondamente, primo perche' una stringa contenente spazi non e` vuota, secondo perche' potrebbe essere implementato in maniera piu` efficiente.
Credo che il trim() affondi le sue origini nel fatto che le librerie sono state concepite da web-developers. Per loro se un utente inserisce un blank come password, allora e' una stringa vuota.
GiamboWebPsicazzo`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
-
-
-