java class declaration
<blockquote>
  <p><strong>Possible Duplicate:</strong><br>
  <a href="http://stackoverflow.com/questions/3633768/java-class-declaration-t">java class declaration &lt;T&gt;</a>  </p>
</blockquote>



<p>Sometimes I've seen that java classes are created as follow,</p>

<pre><code>  public abstract class ObjectPool&lt;T&gt; {
  private long expirationTime;

  private Hashtable&lt;T, Long&gt; locked, unlocked;

  public ObjectPool() {
    expirationTime = 30000; // 30 seconds
    locked = new Hashtable&lt;T, Long&gt;();
    unlocked = new Hashtable&lt;T, Long&gt;();
  }

  protected abstract T create();

  public abstract boolean validate(T o);

  public abstract void expire(T o);

  public synchronized T checkOut() {
    long now = System.currentTimeMillis();
    T t;
    if (unlocked.size() &gt; 0) {
      Enumeration&lt;T&gt; e = unlocked.keys();
      while (e.hasMoreElements()) {
        t = e.nextElement();
        if ((now - unlocked.get(t)) &gt; expirationTime) {
          // object has expired
          unlocked.remove(t);
          expire(t);
          t = null;
        } else {
          if (validate(t)) {
            unlocked.remove(t);
            locked.put(t, now);
            return (t);
          } else {
            // object failed validation
            unlocked.remove(t);
            expire(t);
            t = null;
          }
        }
      }
    }
    // no objects available, create a new one
    t = create();
    locked.put(t, now);
    return (t);
  }

  public synchronized void checkIn(T t) {
    locked.remove(t);
    unlocked.put(t, System.currentTimeMillis());
  }
}
</code></pre>

<p><a href="http://best-practice-software-engineering.ifs.tuwien.ac.at/patterns/objectpool.html" rel="nofollow">full code</a></p>

<p>here, what does <code>&lt;T&gt;</code> means and what is the purpose of it? Please explain.</p>
