http://www.regdeveloper.co.uk/2005/12/11/cohesive_code_packages/

Kevin’s responses are posted here in black

I know what you mean about the java.util package.

On a slightly related note I’m studying for the Business Components Developer exam and you need to learn serveral interface specs.

Not a problem.

Then you need to know which comes from java.rmi., and which from javax.rmi..

Ah, an unnecessary subtlety.

Why have the same thing twice – why is one object extended and the other not? Why?

The Java libraries are riddled with this and it makes passing the certifications unecessarily hard. I want to slap whoever did this but have to control myself.

Yes, it appears to be a fact you have to know for the fact’s sake. In other words, a poor decision on cohesion has been elevated to “clever” status.