There is an object of type Class for each class loaded in Java. Boolean , Character , Double , Float , Integer and Long are class wrappers around primitive Java data types. These classes are important for so-called Calls by Reference and additionally contain some useful methods. String and StringBuffer are objects that represent strings. The Runtime class makes low level methods for the Java runtime system available.
System delivers the appropriate low level system methods.
Process defines a platform independent interface for processes that run outside the Java interpreter. The Thread class supports the quasi-parallel running of several program parts within the same Java interpreter. Throwable is the highest class for the class hierarchy for exception handling. Many of the classes are part of the infrastructure and aren't used by 'normal' applications. They are moreover difficult to understand.