Logging not wrapped in if block | |
Public method without logging | |
Logger constructed without the current class name as argument. | |
Configure Log4J in a file | |
Prohibitted Log4J levels | |
Class name with forbidden name component | |
JDBC close order | |
JDBC connection createStatement() | |
Look for ArrayIndexOutOfBounds errors statically | |
Read or write on non-buffered stream | |
Static initializer which creates an instance before all static variables are initialized | |
getClass().getResource() | |
Inefficient use of keySet iterator rather than entrySet iterator | |
Constant month outside range of 0..11 | |
Duplicate switch branches | |
Command-Query separation | |
Long Mesage chain | |
Constants with equal value | |
Inaccessible matching methods | |
Complex assignments | |
Mixed logical operators without parentheses | |
Use of XML class without factory | |
Thread started multiple times | |
Thread started without being named. | |
Eternal thread | |
Poor handling of interrupted flag | |
lock for atomic operation | |
Daemon thread | |
Looping thread doesn't check for interrupt | |
join() on eternal thread | |
Splittable lock |