The Java Development Kit (JDK) is a software development environment that provides a collection of tools and libraries necessary for developing Java-based software applications and applets. It is an implementation of the Java platform specification, which includes the compiler and standard class libraries. The JDK is one of three core technology packages used in Java programming, along with the JVM (Java Virtual Machine) and the JRE (Java Runtime Environment) . The JDK provides the tools necessary to write Java programs that can be executed and run by the JVM and JRE. The primary components of the JDK include a collection of programming tools, such as appletviewer, apt, extcheck, idlj, and jabswitch. The JDK is a bundle of software development tools and supporting libraries combined with the Java Runtime Environment (JRE) and Java Virtual Machine (JVM) . The JDK is necessary for software development, while the JRE is sufficient for running Java programs.