Developers build applications to suit a particular set of users. The Java platform realizes the differing challenges facing developers and offers the choice of different Java technologies depending on the user’s needs. The two most important components of the Java Platform are the Java Runtime Environment (JRE) and the Java Development Kit (JDK). The JRE is contained within the JDK (i.e., if you just download the JDK you will be able to create and run java programs). The Java platform editions contain additional Java APIs for creating different types of applications:
Java Standard Edition: The Java Standard Edition (Java SE) is for building desktop applets and applications. These applications typically serve only a small number of users at one time.
Java Enterprise Edition: The Java Enterprise Edition (Java EE) is tailored for more complex applications to suit medium to large businesses. The Java EE contains many of the Java APIs found in the Java SE.
Java Micro Edition: The Java Micro Edition is for applications used on mobile (e.g., cell phone, PDA) and embedded devices (e.g., TV tuner box, printers).
Java Virtual Machine is available for many hardware and software platforms. Thus, the Java Virtual Machine is a crucial component of the Java platform. Java bytecode is an intermediate language which is typically compiled from Java and other programming languages. Java programs are compiled into a form called Java byte codes. The JVM executes Java byte codes. The Java compiler reads Java language source (.java) files, translates the source into Java byte codes, and places the byte codes into class (.class) files. The compiler generates one class file per class in the source.
JAVA SOURCE ———-> JAVA COMPILER ———-> JAVA BYTE CODES