Bloccare letteralmente una stringa
synchronized("one") { /* block one A*/ }
synchronized("one") { /* block one B*/ }
Nomi di classe molto lunghi. (nel JRE)
com.sun.java.swing.plaf.nimbus.
InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Scarsa struttura ereditaria
com.sun.corba.se.internal.Interceptors.PIORB extends
com.sun.corba.se.internal.POA.POAORB extends
com.sun.corba.se.internal.iiop.ORB extends
com.sun.corba.se.impl.orb.ORBImpl extends
com.sun.corba.se.spi.orb.ORB extends
com.sun.corba.se.org.omg.CORBA.ORB extends
org.omg.CORBA_2_3.ORB extends
org.omg.CORBA.ORB
Un'eccezione che non lo è.
public interface FlavorException { }
Gestione degli errori inutile e criptica
if (properties.size() > 10000)
System.exit(0);
Creazione non necessaria di oggetti
Class clazz = new Integer(0).getClass();
int num = new Integer(text).intValue();
Generare un'eccezione per altri scopi
try {
Integer i = null;
Integer j = i.intValue();
} catch (NullPointerException e) {
System.out.println("Entering "+e.getStackTrace()[0]);
}
Utilizzo di oggetti di istanza per metodi statici.
Thread.currentThread().sleep(100);
Sincronizzazione su un campo non finale
synchronized(list) {
list = new ArrayList();
}
Copia inutile di una stringa costante
String s = new String("Hello world");
Chiamata inutile a String.toString ()
String s = "Hello";
String t = s.toString() + " World";
Chiamate a System.gc () per liberare memoria
Impostazione della variabile locale su null per liberare memoria
// list is out of scope anyway.
list = null;
}
Utilizzo di ++ i anziché i ++ per motivi di prestazioni (o qualsiasi altra micro-micro-ottimizzazione)