Java Generics - ¿Para qué es esta sintaxis?

¿Qué hace esta parte del código de abajo?<String, Void, Bitmap> ¿media? Ni siquiera sé cómo se llama esta sintaxis.

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {

}



Aquí está el código original (Encontrado desde aquí:http://developer.android.com/guide/components/processes-and-threads.html):

public void onClick(View v) {
    new DownloadImageTask().execute("http://example.com/image.png");
}

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
    /** The system calls this to perform work in a worker thread and
      * delivers it the parameters given to AsyncTask.execute() */
    protected Bitmap doInBackground(String... urls) {
        return loadImageFromNetwork(urls[0]);
    }

    /** The system calls this to perform work in the UI thread and delivers
      * the result from doInBackground() */
    protected void onPostExecute(Bitmap result) {
        mImageView.setImageBitmap(result);
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta