OpenJDK (Open Java Development Kit) is a free and open-source implementation of the Java Platform, Standard Edition (Java SE). It is the result of an effort Sun Microsystems began in 2006. The implementation is licensed under the GPL-2.0-only with a linking exception. Were it not for the GPL linking exception, components that linked to the Java Class Library would be subject to the terms of the GPL license. OpenJDK is the official reference implementation of Java SE since version 7.
The OpenJDK project produces a number of components: most importantly the virtual machine (HotSpot), the Java Class Library and the Java compiler (javac).
The web-browser plugin and Web Start, which form part of Oracle Java, are not included in OpenJDK. Sun previously indicated that they would try to open-source these components, but neither Sun nor Oracle have done so.
The only currently available free plugin and Web Start implementations are those provided by IcedTea.
OpenJDK 9+ supports AOT compilation () using GraalVM (JEP 295). The experimental flag enables the use of Graal JIT (JEP 317).
OpenJDK was initially based only on the JDK 7 version of the Java platform.
Since JDK 10, the effort to produce an open-source reference implementation of the Java SE Platform was moved over to the JDK Project. Unlike past JDK Release Projects, which produced just one feature release and then terminated, this long-running project will produce all future JDK feature releases and will ship a feature release every six months according to a strict, time-based model.
Due to Oracle no longer releasing updates for long-term support (LTS) releases under a permissive license, others have begun offering builds. Linux distributions have always offered their own builds, and Windows also offers one now;
winget install ojdkbuild.openjdk.17.jre
IcedTea
In order to bundle OpenJDK in Fedora and other free Linux distributions, OpenJDK needed to be buildable using only free software components.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Ce cours aborde les concepts fondamentaux de la programmation et de la programmation orientée objet (langage JAVA). Il permet également de se familisarier avec un environnement de développement inform
Couvre les efforts de l'EPFL pour réduire les émissions de CO2 grâce à l'informatique en nuage durable et aux collaborations avec Oracle pour la technologie automatisée de chasse aux insectes.
IcedTea is a build and integration project for OpenJDK launched by Red Hat in June 2007. IcedTea also includes some addon libraries: IcedTea-Web is a free software implementation of Java Web Start and the Java web browser applet plugin. IcedTea-Sound is a collection of plugins for the Java sound subsystem, including the PulseAudio provider which used to be included with IcedTea. The Free Software Foundation recommends that all Java programmers use IcedTea as their development environment.
L'OpenJDK constitue l'implémentation de référence officielle et libre de Java SE, tel que défini par le Java Community Process et ce, depuis sa version 7. Il est le résultat de l'effort de l'entreprise Sun Microsystems (propriétaire de Java jusqu'à son rachat par Oracle) à vouloir rendre Java SE open source. Richard Stallman, dans un article du , a mis en évidence le problème du « piège Java ». Un logiciel libre est véritablement libre non pas seulement s'il respecte une licence approuvée par la Fondation pour le logiciel libre, mais si l'ensemble de ses dépendances sont elles aussi libres.
GCJ (GNU Compiler for Java) était le compilateur Java du projet GNU, sous licence libre. Il a été un des composants de GCC de la version 3 jusqu'à la version 6, avant d'en être retiré à partir de la version 7. Contrairement au compilateur du SDK Java de Sun Microsystems produisant exclusivement du bytecode Java, gcj opte pour une approche traditionnelle en produisant du code natif pour l'architecture matérielle. De plus GCJ est également capable de fonctionner comme un compilateur Java classique en produisant du bytecode, et permet également de transformer du bytecode vers du code natif.