1 Logging not wrapped in if block
2 Public method without logging
3 Logger constructed without the current class name as argument.
4 Configure Log4J in a file
5 Prohibitted Log4J levels
6 Class name with forbidden name component
8 JDBC connection createStatement()
9 Look for ArrayIndexOutOfBounds errors statically
10 Read or write on non-buffered stream
11 Static initializer which creates an instance before all static variables are initialized
12 getClass().getResource()
13 Inefficient use of keySet iterator rather than entrySet iterator
14 Constant month outside range of 0..11
15 Duplicate switch branches
16 Command-Query separation
18 Constants with equal value
19 Inaccessible matching methods
21 Mixed logical operators without parentheses
22 Use of XML class without factory
23 Thread started multiple times
24 Thread started without being named.
26 Poor handling of interrupted flag
27 lock for atomic operation
29 Looping thread doesn't check for interrupt
30 join() on eternal thread