Question: Similar to [this question](https://stackoverflow.com/questions/233030/worst-php-practice-found-in-your-experience)...

What are the worst practices you actually found in Java code?

Mine are:

* using instance variables in servlets (it's not just bad practice but bug, actually)
* using Collection implementations like HashMap, and not using the appropriate interfaces
* using seemingly cryptic class names like SmsMaker (SmsFactory) or CommEnvironment (CommunicationContext)

Answer: 
Ridiculous OO mania with class hierachies 10+ levels deep.

This is where names like `DefaultConcreteMutableAbstractWhizzBangImpl` come from. Just try debugging that kind of code - you'll be whizzing up and down the class tree for hours.
Not closing database connections, file handles etc in a finally{}