Java class definition: what does "<>" mean?
<p>Here is the class definition in java code:</p>

<pre><code>public class WordCount {

 public static class Map extends Mapper&lt;LongWritable, Text, Text, IntWritable&gt; {
    private final static IntWritable one = new IntWritable(1);
    private Text word = new Text();

    public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
        String line = value.toString();
        StringTokenizer tokenizer = new StringTokenizer(line);
        while (tokenizer.hasMoreTokens()) {
            word.set(tokenizer.nextToken());
            context.write(word, one);
        }
    }
 } 
</code></pre>

<p>So what does this mean?</p>

<pre><code>public static class Map extends Mapper&lt;LongWritable, Text, Text, IntWritable&gt;
</code></pre>

<p>Why we need a "&lt;>" here?</p>
