Interblocagethumb|Exemple d'interblocage : le processus P1 utilise la ressource R2 qui est attendue par le processus P2 qui utilise la ressource R1, attendue par P1. Un interblocage (ou étreinte fatale, deadlock en anglais) est un phénomène qui peut survenir en programmation concurrente. L'interblocage se produit lorsque des processus concurrents s'attendent mutuellement. Un processus peut aussi s'attendre lui-même. Les processus bloqués dans cet état le sont définitivement, il s'agit donc d'une situation catastrophique.
Java version historyThe Java language has undergone several changes since JDK 1.0 as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4, the evolution of the Java language has been governed by the Java Community Process (JCP), which uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The language is specified by the Java Language Specification (JLS); changes to the JLS are managed under JSR 901.
OpenJDKL'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.
Java (technique)Java est une technique informatique développée initialement par Sun Microsystems puis acquise par Oracle à la suite du rachat de l'entreprise. Défini à l'origine comme un langage de programmation, Java a évolué pour devenir un ensemble cohérent d'éléments techniques et non techniques.
Threads POSIXLes threads POSIX, souvent appelés pthreads, sont un sous-standard de la norme POSIX décrivant une interface de programmation permettant de gérer des threads. Il s'agit du standard IEEE Std 1003.1c-1995 (POSIX.1c, Threads extensions). Cette interface est disponible sur la plupart des systèmes Unix modernes, par exemple Linux, les différentes variantes modernes de BSD, Mac OS X et Solaris. Elle n'est pas disponible nativement sous Microsoft Windows mais il existe plusieurs implémentations dont une de Microsoft.
Java (langage)Java est un langage de programmation de haut niveau orienté objet créé par James Gosling et Patrick Naughton, employés de Sun Microsystems, avec le soutien de Bill Joy (cofondateur de Sun Microsystems en 1982), présenté officiellement le au SunWorld. La société Sun est rachetée en 2009 par la société Oracle qui détient et maintient désormais Java. Un logiciel écrit en language Java a pour particularité d'être compilé vers un code intermédiaire formé de bytecodes qui peut être exécutée dans une machine virtuelle Java (JVM) en faisant abstraction du système d'exploitation.
Java Web StartJava Web Start (JWS) est un outil informatique de déploiement de logiciels fondés sur la technique Java, intégré au JRE depuis sa version 5 et supprimé par Oracle depuis la version 11 du JRE. La technique Java Web Start est construite sur la plate-forme Java 2, ce qui assure une architecture étendue de sécurité. Par défaut, les applications lancées avec Java Web Start s'exécutent dans un environnement réservé (« bac à sable ») à partir duquel l'accès aux fichiers et au réseau est limité.
Free Java implementationsFree Java implementations are software projects that implement Oracle's Java technologies and are distributed under free software licences, making them free software. Sun released most of its Java source code as free software in May 2007, so it can now almost be considered a free Java implementation. Java implementations include compilers, runtimes, class libraries, etc. Advocates of free and open source software refer to free or open source Java virtual machine software as free runtimes or free Java runtimes.
Java SEJava Platform, Standard Edition, ou Java SE (anciennement Java 2 Platform, Standard Edition, ou J2SE), est une spécification de la plateforme Java d'Oracle, destinée typiquement aux applications pour poste de travail. La plateforme est composée, outre les API de base : des API spécialisées dans le poste client (JFC et donc Swing, AWT et Java2D) ; des API d'usage général comme JAXP (pour le parsing XML) ; de JDBC (pour la gestion des bases de données).
POSIXPOSIX est une famille de normes techniques définie depuis 1988 par l'Institute of Electrical and Electronics Engineers (IEEE), et formellement désignée par IEEE 1003. Ces normes ont émergé d'un projet de standardisation des interfaces de programmation des logiciels destinés à fonctionner sur les variantes du système d'exploitation UNIX. Le terme POSIX a été suggéré par Richard Stallman, qui faisait partie du comité qui écrivit la première version de la norme. L'IEEE choisit de le retenir car il était facilement mémorisable.