Las distribuciones del kit de desarrollo de Java (JDK), o las distribuciones del entorno de ejecución de Java (JRE), proporcionan los recursos y procesos necesarios para ejecutar aplicaciones Java sobre un sistema operativo subyacente. Estos elementos incluyen todas las clases requeridas de Java SE (Edición Estándar) y entornos de ejecución de código. Las distribuciones de JDK / JRE también incluyen una Máquina Virtual de Java (JVM) que permite la portabilidad multiplataforma de Java y permite que el código compilado de Java sea más pequeño en tamaño. Java es un lenguaje de programación popular, y el JDK / JRE puede considerarse como una capa de comunicación entre los programas Java escritos y los sistemas operativos. Todas las distribuciones del JDK derivan de OpenJDK, la implementación de código abierto de Java SE que es desarrollada y mantenida colectivamente por los principales proveedores en este espacio.
Los equipos de desarrollo utilizan su distribución elegida del JDK para acceder a clases (código preescrito con funcionalidad que se puede llamar mediante comandos abreviados), para escribir código Java y desarrollar aplicaciones, para verificar y validar su código escrito, incluida la remediación de errores y seguridad, y para ejecutar su código como una aplicación. Para que las distribuciones de JDK o JRE se consideren compatibles con Java SE, deben pasar la suite de pruebas del kit de compatibilidad tecnológica (TCK). El TCK de Java, también conocido como JCK, está disponible a través del Acuerdo de Licencia de la Comunidad OpenJDK TCK (OCTLA) para organizaciones que están trabajando y contribuyendo a la Comunidad OpenJDK. Además, algunas distribuciones (a menudo denominadas distribuciones "descendentes") proporcionan beneficios altamente diferenciados, como experiencias de aplicación significativamente mejoradas y costos de infraestructura reducidos. Estos pueden incluir un rendimiento mejorado (mejor recolección de basura, calentamiento más rápido, etc.) y capacidades nativas de la nube.
Para calificar para la inclusión en la categoría de Distribuciones del Kit de Desarrollo de Java (JDK), un producto debe:
Incluir una Máquina Virtual de Java (JVM)
Incluir la API de Java SE (interfaz de programación de aplicaciones) - un conjunto de clases internas para construir aplicaciones Java
Proporcionar los paquetes y herramientas para desarrollar, probar y monitorear aplicaciones Java