For java.lang package, one would need to know the ALL the wrapper classes for primitive types. Well there are not many wrapper classes, and they all extend the Number class and have mostly common methods shared.

Need to know String and StringBuffer classes. Now, an important difference is that String is immutable. So:

String s = "hello"; s.concat(" alien");

s is still "hello"

Also, need to know about Math class. Note that this class is NOT immutable. However, Its final and all that... (check out the javadocs for more details)

About the java.util package: Its important to realise that Map does not extend the Collection interface. Also, one would need to know the collection classes which are used for different purposes. For example, what class would you use if you want to maintain the insertion order of elements (That will be some class implementing List).