Les distributions du kit de développement Java (JDK), ou les distributions de l'environnement d'exécution Java (JRE), fournissent les ressources et processus nécessaires pour exécuter des applications Java sur un système d'exploitation sous-jacent. Ces éléments incluent toutes les classes Java SE (Standard Edition) requises et les environnements d'exécution de code. Les distributions JDK / JRE incluent également une machine virtuelle Java (JVM) qui permet la portabilité multiplateforme de Java et permet au code compilé de Java d'être plus petit en taille. Java est un langage de programmation populaire, et le JDK / JRE peut être considéré comme une couche de communication entre les programmes Java écrits et les systèmes d'exploitation. Toutes les distributions du JDK dérivent d'OpenJDK, l'implémentation open-source de Java SE qui est collectivement développée et maintenue par les principaux fournisseurs dans cet espace.
Les équipes de développement utilisent leur distribution choisie du JDK pour accéder aux classes (code préécrit avec des fonctionnalités qui peuvent être appelées via des commandes abrégées), pour écrire du code Java et développer des applications, pour vérifier et valider leur code écrit, y compris la correction des erreurs et la sécurité, et pour exécuter leur code en tant qu'application. Pour que les distributions JDK ou JRE soient considérées comme compatibles avec Java SE, elles doivent passer la suite de tests du kit de compatibilité technologique (TCK). Le TCK Java, également appelé JCK, est mis à disposition via l'accord de licence communautaire TCK OpenJDK (OCTLA) aux organisations qui travaillent et contribuent à la communauté OpenJDK. De plus, certaines distributions (souvent appelées distributions "en aval") offrent des avantages hautement différenciés tels que des expériences d'application considérablement améliorées et des coûts d'infrastructure réduits. Ceux-ci peuvent inclure des performances améliorées (meilleure collecte des déchets, démarrage plus rapide, etc.) et des capacités natives du cloud.
Pour être qualifié pour inclusion dans la catégorie des distributions du kit de développement Java (JDK), un produit doit :
Inclure une machine virtuelle Java (JVM)
Inclure l'API Java SE (interface de programmation d'application) - un ensemble de classes internes pour construire des applications Java
Fournir les packages et outils pour développer, tester et surveiller les applications Java