GNU Classpath
Le GNU Classpath est un projet visant à créer une exécution du logiciel gratuit de la bibliothèque standard de classe de pour le langage de programmation de Java . En dépit de la taille massive de la bibliothèque à créer, la majorité de la tâche est déjà faite, y compris l'oscillation , le CORBA , et d'autres parties. Les réalisateurs de Classpath ont mis en application presque toutes les classes du J2SE 1. Classpath peut être employé ainsi pour courir le logiciel Java-basé populaire tel que le Azureus et l'éclipse .
C'est une partie le projet de GNU de s de Free Software Foundation du 'et a été lancé de sorte que les utilisateurs d'ordinateur aient pu employer des programmes de Java sans abandonner les libertés que le mouvement de logiciel gratuit de travaille pour fixer. GNU Classpath a été à l'origine développé parallèlement au libgcj dû aux incompatibilités de permis, mais plus tard fusionné.
Permis
GNU Classpath est autorisé sous le permis de grand public de GNU de avec un liant l'exception . C'est un permis de logiciel gratuit de . Tout le code est formellement possédé par le Free Software Foundation , et ce propriétaire est lié par ses propres engagements contractuels aux réalisateurs.
Utilisations
GNU Classpath est employé par beaucoup de temps d'exécution de Java de librement (comme Kaffe , SableVM , JamVM , CACAO , Jikes RVM ) parce que chaque machine virtuelle complète de Java doit fournir une exécution des bibliothèques standard de classe. Quelques autres utilisations incluent :
Le compilateur de GNU de pour Java , qui est capable de compiler le code de Java dans les executables autonomes indigènes.
Utilisation GNU Classpath de projet d'IcedTea comme remplacements pour la bibliothèque absente de classe de Java de qui demeurent classe des propriétaires et fermé-source dans le OpenJDK .NET , qui intègre Java avec le cadre du .NET
JNode du système d'exploitation pour courir des applications de Java. Ce système est écrit en Java et assembleur seulement.
machines virtuelles spécialisées telles que le Jaos pour l'intégration avec le langage de programmation d'Oberon , et JamaicaVM pour les systèmes inclus avec des garanties en temps réel.
machines virtuelles pour l'informatique répartie avec des faisceaux, ayant jusqu'à 128 processeurs sur le Myrinet ().
Histoire
Le développement de GNU Classpath a commencé en 1998 avec cinq réalisateurs. Pendant l'histoire, il a fusionné plusieurs fois avec d'autres projets ayant les buts semblables ( Kaffe , libgcj). Dans le passé, GNU Classpath a fourni sa propre machine virtuelle (Japhar). Pendant que Classpath devenait une bibliothèque basse, a partagé avec beaucoup de différents projets, cette attention suscitée de machine virtuelle de moins en moins et n'est maintenant plus soutenu.Après mise en oeuvre de la majorité du Java officiel 1.4 api, le travail dans le projet est devenu plus de bogue orienté plutôt que l'assurance d'api orientée. En 24 octobre 2006, l'exécution de la dernière classe des disparus 1.4, HTMLWriter, a été commise. La vitesse de développement (calculée mathématiquement comme nombre moyen de nouvelles lignes de code par jour) a atteint son plus haut jamais en 2006.
Le nom GNU Classpath a été à l'origine suggéré par le Bradley M. Kuhn à un des premiers réalisateurs, Paul Fisher. Lorsque, il y avait grande préoccupation de dans la communauté libre de réalisations de Java au sujet de l'application de la marque déposée de Sun sur Java contre des réalisations libres. Kuhn a suggéré le nom CLASSPATH, qui est la variable d'environnement employée par la plupart des systèmes de Java pour indiquer où les bibliothèques de Java résident sur l'ordinateur. Depuis CLASSPATH souvent augmenté à un chemin d'accès qui a inclus le Java de mot (tel que /usr/lib/java), c'était une manière d'évoquer le nommé Java sans le dire réellement. Fisher et d'autres lotisseurs n'ont pas aimé l'utilisation laide du $ et de tous majuscules et arrangé sur le Classpath .
Équipe de développement
L'équipe responsable du projet se compose d'environ 70 lotisseurs (avec actuellement - active approximativement 20) et d'un défenseur actif. Le défenseur prend soin du côté légal du projet, prépare les dégagements réguliers de projet et fait une certaine gestion de qualité. Le défenseur accorde également les permissions d'accès du CVS .À la différence de quelques projets, GNU Classpath n'a aucune hiérarchie formelle. Le travail est effectué par le plus techniquement le capable, et il n'y a aucune division stricte de travail non plus. Tous les changements de code sont d'abord signalés à la liste de discussion comme pièces rapportées où ils peuvent être opposés si nécessaires. Le projet reçoit typiquement entre cinq et huit pièces rapportées par jour.
Le projet a sa propre suite d'essai ( mauve) avec environ 175.000 essais et exécute des contrôles de journal pour s'assurer que les classes de projet sont compatibles avec les classes officielles de Sun api.
Le progrès d'assurance de code de bibliothèque de GNU Classpath peut être dépisté contre J2SE 1.
Intégration de machine virtuelle
GNU Classpath contient des classes du namespace officiel de Java api. Là où les appels au code indigène sont nécessaires ou fortement désirés, ceci est fait de le petit nombre de " ; VM" ; classes. Le nom d'une telle classe assortit le nom de la classe, exigeant des méthodes indigènes plus le préfixe additionnel de la VM : VMObject, VMString et ainsi de suite. Les classes de VM, stockées séparément du reste du code, sont paquet privé et final. Les méthodes de ces classes contiennent le indigène de mot-clé, indiquant la nécessité de la bibliothèque de soutien. Une telle bibliothèque est fournie par les auteurs de la machine virtuelle de Java. Par conséquent GNU Classpath peut être relié à presque n'importe quelle machine virtuelle de Java si les sources d'une telle machine sont disponibles et peut être modifié. Par exemple, il ne peut pas être employé avec la machine virtuelle du de Sun de qui ne remplit pas encore ces conditions.
Soutien des nouveaux dispositifs de langue dans Java 1.5
Avant la version 0.95, chaque dégagement de GNU Classpath s'est composé de deux tarballs séparés de dégagement ; un qui a représenté l'état de la branche principale et des autres de développement qui ont contenu le contenu d'une branche plus expérimentale, soutenant les additions, telles que des médicaments génériques, des énumérations et des annotations, présent dans Java 1.5Depuis la version 0.5 addition comme des médicaments génériques ont été entièrement intégrés dans la branche principale. La branche permet à GCJ d'employer le compilateur d'éclipse, CEJ, pour compiler le code source de Java 1.5 au bytecode, qui est alors changé en code indigène par GCJ lui-même.
Interface avec le compilateur de l'ouvrir-source de Sun
Depuis la version 0.95, les appuis de GNU Classpath compilant et courant le compilateur de Javac d'ouvrir-source du GPL using le temps d'exécution ( GIJ ) de de Classpath et le compilateur ( GCJ ) et laisse également compiler la bibliothèque, les outils et les exemples de classe de GNU Classpath avec le Javac lui-même.
Classes du domaine d'omg.org
GNU Classpath n'accepte aucun code qui a un permis non-libre, ou qui a été automatiquement produit du code avec un permis non-libre. La norme Java api contient les nombreuses classes du domaine d'omg.org qui sont normalement produites à partir des dossiers du IDL , libéré par le groupe de gestion d'objet . Le " ; utilisation, mais aucun modify" ; permis de ces comptes de dossiers comme non-libre. Pour cette raison, les classes mentionnées dans le projet de GNU Classpath ont été écrites à la main, employant seulement les caractéristiques imprimées par fonctionnaire d'OMG. Par conséquent la présente partie de GNU Classpath est aussi librement que n'importe quel autre code dans le projet. Cette exécution est fonctionnelle.| Random links: | Drapeau de Macao | Jour de signature national | Équation de Chapman-Kolmogorov | Wellington Yueh | Liste de marques de reportage d'AAR : Z | GNU_Classpath |