Pues mira, existen varias rutas para seguir dentro del mundo de Java. Seguramente encontraras mejores descripciones de las que yo te pueda dar aqui, pero te podria servir de algo.
- Java SE. Es la parte principal. Se utiliza para desarrollo de aplicaciones de escritorio. Es la parte central de cualquier otro desarrollo que quieras realizar utilizando Java.
- Java EE (o J2EE como tu lo pusiste). Contiene librerias extras a Java SE y se utiliza para desarrollo en Web. Mencionaste JBoss, este es un servidor J2EE. Existen otros gratuitos como Apache Geronimo o Glassfish. Para este ambiente vas a encontrar muchas librerias y frameworks como Struts, Hybernate entre otros.
- Java ME. Es una parte de las librerias de Java SE y se utiliza para desarrollar aplicaciones para dispositivos moviles.
Lo que tendrias que aprender primero (y tal vez dominar) es Java SE ya que los demas (desarrollo para web y para moviles) estan bastante ligados. No deberias empezar con Java EE ya que ocupa mucho campo y te decepcionarias bastante al no entender muchas de las cosas.
Te puedo recomendar algunas lecturas (en ingles) que he leido y te ayudan bastante.
Para Java SE puedes leer
SCJP: Sun Certified Programmer for Java Platform Study Guide: SE6 (Exam CX-310-065). Este te guia sobre todo lo necesario para poder hacer una certificacion en Java SE.
Para Java EE nada mejor que el tutorial de Oracle
The Java EE 6 Tutorial. En esa misma pagina puedes bajarlo en PDF