Bloqueando um literal String
synchronized("one") { /* block one A*/ }
synchronized("one") { /* block one B*/ }
Nomes de classe muito longos. (no JRE)
com.sun.java.swing.plaf.nimbus.
InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState
Estrutura de herança insuficiente
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
Uma exceção que não é.
public interface FlavorException { }
Manipulação de erro inútil e enigmática
if (properties.size() > 10000)
System.exit(0);
Criação desnecessária de objetos
Class clazz = new Integer(0).getClass();
int num = new Integer(text).intValue();
Lançando uma exceção para outros fins
try {
Integer i = null;
Integer j = i.intValue();
} catch (NullPointerException e) {
System.out.println("Entering "+e.getStackTrace()[0]);
}
Usando objetos de instância para métodos estáticos.
Thread.currentThread().sleep(100);
Sincronizando em um campo não final
synchronized(list) {
list = new ArrayList();
}
Cópia inútil de uma String constante
String s = new String("Hello world");
Chamada inútil para String.toString ()
String s = "Hello";
String t = s.toString() + " World";
Chama System.gc () para liberar memória
Definir variável local como null para liberar alguma memória
// list is out of scope anyway.
list = null;
}
Usando ++ i em vez de i ++ por razões de desempenho (ou qualquer outra micro-micro-otimização)