Knowledge about JRE, JVM & JDK is very important while learning Java. This section briefly describes about them.
What is Java Runtime Environment (JRE)?
Java Runtime Environment should be installed on any machine which provides the libraries that will be used by the JVM during runtime, JVM itself and other neccessary components to run java applications and applets. JRE is available for standalone environment and as Web browser Plug-in for the applets.
What is Java Virtual Machine (JVM)?
After developing any application, the source code i.e. *.java files needs to be compiled in order to check for any errors. If there is no errors the compiler will create *.class files for all the source code. These files are called as Java Bytecodes. Any machine where JRE is installed will be able to interpret/translate these bytecodes into machine code depending upon the Operating System. Virtual Java Machine inside JRE ie. JVM reads and translates these bytecodes into machine code that the underlying platform can understand and runs the program.
Java Virtual Machine, Java Runtime Environment & Java Development Kit are not platform independent since each OS has different settings. They only helps Java to be run on the platform-independent way.
What is Java Development Kit (JDK)?
Java Development Kit consists of JRE and development tools needed for the developers such as compilers, debuggers which is useful for developing applets and applications. JRE alone is enough for running Java applications. But if you want to develop, you need to definitely have the JDK.
Download JDK for your respective OS through this below website URL and Install it in your system. http://www.oracle.com/technetwork/java/javase/downloads/index.html
Difference between Java ME, Java SE, Java EE, & JavaFX:
An API is a collection of software components that can used to create software applications.
Java Micro Edition(ME) platform provides an API and a small virtual machine for running small Java programming language applications on devices, like mobile phones. It also has special class libraries useful for small application development.
Java Standard Edition(SE) platform provides the core APIs, development/deployement tools, class libraries and java virtual machine for graphical user interface development(GUI), networking, database access etc..
Java Enterprise Edition(EE) platform is supertype of Java SE and it is built on top of it. It provides core APIs, JVM for developing and running large scale, scalable, multi-tired, secure applications using technologies like EJB, JDBC, JSP, Servlets, JMS, RMI etc..
JavaFX platform is used for creating rich internet applications using the User Interface API and the hardware accelerated graphics.