Comment télécharger le code source de la machine virtuelle java(Hotspot) le plus mis à jour?
Je vais contribuer à la communauté Java et je suis intéressé par la JVM.
Maintenant, je voudrais télécharger le code source JVM Hotspot le plus mis à jour et suivre les mises à jour.
Tout d'Abord, je vais à http://openjdk.java.net/ .
Sur son côté gauche, je trouve une balise utile
Source code:
Mercurial
Bundles
...
JDK 6
JDK 7
JDK 7 Updates
JDK 8 · Java SE 8
JDK 8 Updates
JDK 9 · Java SE 9
JDK 10
Je ne peux trouver que des instructions sur la façon de télécharger le code source de JDK8u: http://openjdk.java.net/projects/jdk8u/
Statut
Nous sommes ouverts aux correctifs pour 8u152 dans la forêt jdk8u-dev. (L'heure de publication est 2017-06-06 14:23:36
)
Code source
La forêt jdk8u-dev pour le développement continu peut être clonée en utilisant cette commande: hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev;cd jdk8u-dev;sh get_source.sh .
La forêt principale jdk8u correspondante peut être clonée en utilisant cette commande: hg clone http://hg.openjdk.java.net/jdk8u/jdk8u;cd jdk8u;sh get_source.sh .
De plus, le code source de la dernière version, 8u102, est disponible en clonant la forêt maîtresse 8u : http://hg.openjdk.java.net/jdk8u/jdk8u
et en utilisant la balise mercurial 'jdk8u102-b14
'.
Mais il semble que jdk9 et jdk10 sont également sur le liste. Sont-ils le code source le plus mis à jour et comment puis-je les télécharger?
La page JDK9 ne fournit pas d'instructions sur la façon d'obtenir le code source. JDK9: http://hg.openjdk.java.net/jdk9
JDK10: http://openjdk.java.net/projects/jdk10/
De plus, si la communauté Java publie une nouvelle mise à jour, quelle est la meilleure façon de mettre à jour mon code source actuel? Télécharger à nouveau ou utiliser l'outil Mercurial?
Qu'est-ce que forest
dans le code source jdk? Est-il similaire à branch
dans git?
De plus, je peux trouver un autre moyen de télécharger le code source JVM Hotspot à partir de github dans JetBrains:
Https://github.com/JetBrains/jdk8u_hotspot/tree/d37547149a7c5647ebffbbb62525cc62bd8e2673
Mais je ne suis pas sûr que celui-ci soit le plus mis à jour.
1 answers
Cela dépend de ce que vous entendez par 'le plus mis à jour'.
En fait, tous les jdk8u, les référentiels jdk9 et jdk10 sont tenus à jour; ce ne sont que des projets distincts ayant un statut différent et acceptant différents ensembles de modifications.
- jdk8u a les modifications les plus récentes qui apparaîtront dans les futures mises à jour de JDK 8. Ces mises à jour consistent principalement en des corrections de bugs.
- jdk9 le référentiel contient des mises à jour code qui sera publié bientôt que JDK 9. Le projet est maintenant en Phase de montée en puissance 2 ce qui signifie que seuls les bogues showstopper peuvent y être corrigés. Il n'est pas encore défini ce qui arrivera à ce référentiel après la publication de JDK 9 - par exemple donner le départ pour quelque chose comme jdk9u.
-
Jdk10 contient les travaux en cours sur la future version de la plate-forme Java SE. Les améliorations importantes apportées ici sont susceptibles d'être rétroportées vers jdk9 quelque temps plus tard (bien sûr, si elles sont conformes à la spécification).
Notez que les nouvelles fonctionnalités sont et non développées directement dans ce référentiel. Les nouvelles fonctionnalités doivent passer par le processus JEP . Certaines fonctionnalités plus importantes peuvent même être hébergées dans des projets séparés comme Panama ou Valhalla .
Les référentiels officiels des projets OpenJDK sont hébergés à http://hg.openjdk.java.net
Pour obtenir les sources, utilisez Mercurial, par exemple
hg clone http://hg.openjdk.java.net/jdk10/jdk10
Il contient plusieurs imbriqués référentiel. HotSpot JVM est sous hotspot
:
hg clone http://hg.openjdk.java.net/jdk10/jdk10/hotspot
Plus tard, vous pouvez utiliser hg pull -u
pour synchroniser votre référentiel local avec les mises à jour du maître.
Dans le référentiel parent, vous trouverez également les instructions pour obtenir les sources et construire OpenJDK: common/doc/building.md
. Il existe un document similaire dans le dépôt jdk9.