What is Java SE, Java EE, Java ME and Java FX?

In this short article, I would like to briefly explain what is Java SE, Java EE, Java ME, and Java FX?
As we all know, Java technology is both a programming language and a platform. The Java programming language is a high-level object-oriented language that has a particular syntax and style. A Java platform is a particular environment in which Java programming language applications run.

The Java Programming Language Platforms

There are four platforms of the Java programming language:
  • Java Platform, Standard Edition (Java SE)
  • Java Platform, Enterprise Edition (Java EE)
  • Java Platform, Micro Edition (Java ME)
  • JavaFX
Let's discuss each of the above platforms of the Java programming language.
It's clear that all Java platforms consist of a Java Virtual Machine (VM) and an application programming interface (API). The Java Virtual Machine is a program, for a particular hardware and software platform, that runs Java technology applications.

You can read more about JVM, JRE, and JDK at Java JVM, JRE and JDK Explained with Diagrams.

Java SE 

Java Platform, Standard Edition (Java SE) consists of APIs that provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing.

In addition to the core API, the Java SE platform consists of a virtual machine, development tools, deployment technologies, and other class libraries and toolkits commonly used in Java technology applications.
Check out more about JavaSE at Java Tutorial | Learn Java Programming with Examples.

Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.

Check out complete Java EE tutorial at The Java EE Tutorial.

Refer the Java EE 7 API specification at http://docs.oracle.com/javaee/7/api.

Java ME

The Java ME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like mobile phones. The API is a subset of the Java SE API, along with special class libraries useful for small device application development. Java ME applications are often clients of Java EE platform services.

Check out more about Java ME at https://docs.oracle.com/javame/8.0/


JavaFX is a platform for creating rich internet applications using a lightweight user-interface API. JavaFX applications use hardware-accelerated graphics and media engines to take advantage of higher-performance clients and a modern look-and-feel as well as high-level APIs for connecting to networked data sources. JavaFX applications may be clients of Java EE platform services.