There are several editions of the Java language:
The Java Enterprise Edition or the Java 2 Enterprise Edition (abbreviated as Java EE or J2EE) is used by applications for large corporations to develop applications for banks, insurance companies, retailers, etc.
The Java 2 Standard Edition (abbreviated as J2SE) is used to develop simple Java applications. With this Java edition, you can create console applications, applets, and user interface applications.
The Java Micro Edition or the Java 2 Micro Edition (abbreviated as Java ME or J2ME) is used to develop applications for cell phones, PDA's, and other low-power computer systems.
The Java Card is used for smart cards, such as bank payment cards, SIM-cards in mobile communication, etc.
Java EE is the most popular edition. Programmers who work with this edition are in great demand worldwide. Java EE programmers are top class programmers who work for medium and large companies, such as banks, insurance companies, large retailers, etc. To create an application for such companies, you need to know not only the Java language, but also specifics of the industry you are working for. Therefore, every time a Java developer starts working at a new company, the programmer has to learn the specifics of the new industry. It's the only way to create a good application.
Suppose you want to create a bank application on derivatives. First, you will need to become an expert in derivatives. Otherwise, how can you build such an application?
Or, say you are want to work on an application for a large retail company. The only way to do it is to first learn the specifics of the retail business.
For this reason, Java programmers belong to the programming elite. So if you like learning a lot in a short period of time and under strict deadlines, then the life of a Java programmer may be the one for you.