# JDK, JRE, JVM, JSE, JEE, JME

**JDK** (Java Development Kit) is nothing but the place or environment used for developing java applications. There are three profiles, so to say or three types of JDKs:
1. **JSE**–> Java Standard Edition–> You can develop standalone applications/desktop applications or even write scripts using Selenium tool for Automation Testing.
2. **JEE**–> Java Enterprise Edition–> It’s used to develop rich enterprise web applications.
3. **JME**–> Java Micro Edition–> Can be used to develop applications running on mobile devices, embedded systems etc.

**JDK**, more specifically, JSE; contains JRE plus the java compiler and other development tools.

**JRE** (Java Runtime Environment) – It’s a package which contains JVM plus supporting files.

**JVM** (Java Virtual Machine) – It acts as an interpreter. It understands byte codes and converts it into CPU understandable instructions.

![jdk-jre](https://s1.wailian.download/2020/01/14/jdk-jre.png)

Java can be written in editors. Most famous are Notepad, Notepad++, EditPlus3.

But, basic or major developments will happen in IDEs i.e Integrated Development Environment for example Eclipse, NetBeans.

## References
- [JDK, JRE, JVM, JSE, JEE, JME](https://blogoncorejava.wordpress.com/2016/02/06/jdk-jre-jvm-jse-jee-jme/)