Class<T> means that since JDK 1.5, Class is generified by the type the class defines. One way to think about this is that Class is a factory for creating instances of its type.
Specifically, a Class<T> creates instances of type T from the Class.newInstance() method.
From JDK 1.5 on, it is recommended by the Java Language Spec that you should not use raw types. So, it is highly recommended that when dealing with a Class instance of unknown type, you should refer to it as "Class<?>" and not just "Class". Of course, if you actually know the type or some bound, you might find some benefits of specifying it.