Bueno, como visteis en el mensaje de bienvenida, solo daré aquellos que yo he utilizado y mas o menos tengo cierto conocimientos avanzado en su uso.
Para java en concreto utilizare tres programas libres:
  1. Eclipse : este un programa IDE , lo suelen utilizan muchas universidades y sobre todo los informáticos.Te puede servir para aprender los comandos puros en java, pero no es fácil a la hora de hacer una interfaz gráfica si no es con la ayuda de un complemento (pluggin).
  2. Netbeans: es un programa IDE, también se suelen utilizar en muchas universidades y sobre todo es recomendado para personas que empiezan a programar con Java o hacer interfaces de usuario.  Lo malo de este programa que crea un código que solo es interpretado por este programa, y a la hora de importarlo en otros lados da fallos.
  3. BlueJ: es un programa solamente para Java, esta recomandado para aprender y enseñar java, posee una interfaz que crea directamente el diagrama de clases visualmente. Ademas tiene apardados donde poder ver el valor de cada variable y muy sencillo de usar.
Recomendaciones: si es para crear interfaces graficas Eclipse o Netbeans.

Si estas utilizando otro programa, lo mismo lo conozco y no lo he puesto en la lista pero puedes dejar un comentario para que otras personas sepan que existe.