Dans les grandes lignes des changements en profondeur (JMM, typage, modularisation ne sont pas une mince affaire) tout en gardant en tête la compatibilité avec les précédentes versions.
Jettons un oeil dans l'atelier pour voir ce qu'il se prépare.
En introduction
Les préparations des nouvelles versions de jdk passent maintenant par openjdk et les JEP (JDK Enhancement-Proposal). Les jep permettent d'avancer les développements dans un cadre moins formalisé que les JSR, facilitant ainsi le début des travaux.
La jep 0 liste l'ensemble des jep (et les target release) : http://openjdk.java.net/jeps/0
La jep 1 détail le processus qui ne remplace pas celui des jsr (restant les spécifications officielles) mais vient plutôt en amont : http://openjdk.java.net/jeps/1
Un article de Stephen Colebourne concernant les jep : http://blog.joda.org/2011/11/future-is-in-jeps.html
La mailing dédiée aux jep : http://mail.openjdk.java.net/mailman/listinfo/jep-changes
Quelques généralités
Articles sur le sujet :
- http://jaxenter.com/a-first-glimpse-at-java-9-early-access-release-of-jdk9-on-openjdk.1-50855.html
- http://dev.solita.fi/2014/08/04/what-is-coming-to-java-vm.html
Une présentation qui s'est déroulée au jvm language summit de juillet 2014. Présentation lors de laquelle John Rose et Brian Goetz donne les grandes lignes des orientations concernant l'évolution de la JVM, une runtime qui ne se destine pas uniquement à Java :
http://cr.openjdk.java.net/~jrose/pres/201407-JVMEvolution.pdf
Evolution du Java Memory Model (JMM)
Une présentation de Aleksey Shipilev (spécialiste de Java Performance chez Oracle) sur le JMM- La présentation : http://shipilev.net/talks/narnia-2555-jmm-pragmatics-en.pdf
- Site de Aleksey Shipilev : http://shipilev.net/
- Son GitHub : https://github.com/shipilev
Le lancement de Doug Lea pour les évolutions JMM 9
- Le lancement : http://mail.openjdk.java.net/pipermail/hotspot-dev/2014-January/012146.html
- La mailing dédié : http://cs.oswego.edu/mailman/listinfo/pre-jmm9
- La jep associée : http://openjdk.java.net/jeps/188
- La homepage de Doug Lea : http://g.oswego.edu/
Dans la continuité, forcément des impacts sur les aspects concurrence : http://cs.oswego.edu/pipermail/concurrency-interest/2014-January/012169.html
Projet Panama
Annoncé par John Rose, le projet Panama dont l'objectif est une meilleur connectivité entre la JVM et les API non java. Ce projet vise à mettre en place les FFI (Foreign Function Interface) en tant qu'alternative aux JNI (Java Native Interface), JNA (Java Native Access). FFi devrait être basé sur Java Native Runtime (JNR)- L'annonce : http://mail.openjdk.java.net/pipermail/announce/2014-June/000172.html
- Post de John Rose : https://blogs.oracle.com/jrose/entry/the_isthmus_in_the_vm
- La jep 191 pour les FFI : http://openjdk.java.net/jeps/191
- Github avec les premiers développements : https://github.com/jnr/jnr-ffi
- Présentation Java Native Runtime : http://www.oracle.com/technetwork/java/jvmls2013nutter-2013526.pdf
Articles :
- http://www.infoq.com/fr/news/2014/03/java-foreign-function-interface
- http://www.infoworld.com/t/java-programming/project-panama-builds-bridge-between-java-and-cc-244434
- http://www.developpez.com/actu/72370/Projet-Panama-une-future-alternative-a-Java-Native-Interface-fait-son-apparition-pour-offrir-un-interfacage-natif-avec-les-API-C-et-Cplusplus/
Blog de John Rose : https://blogs.oracle.com/jrose/
Charles Oliver Nutter :
- Son Blog : http://blog.headius.com/
- Son Github : https://github.com/headius
Projet Valhalla
Initié par Brian Goetz, ce projet vise à faire évoluer le langage et son typage. Quelques exemples pouvant entrer dans ce domaine les value type, Spécialisation des generics et ici ou encore amélioration des volatiles
- Annonce : http://mail.openjdk.java.net/pipermail/discuss/2014-June/003445.html
- Ouverture de la mailing dédiée : http://mail.openjdk.java.net/pipermail/valhalla-dev/2014-July/000000.html
Articles liés :
- http://marxsoftware.blogspot.fr/2014/06/project-valhalla-proposed.html
- http://www.infoq.com/news/2014/07/Project-Valhalla
- http://jaxenter.com/brian-goetz-introduces-new-openjdk-project-valhalla-50783.html
- http://sdtimes.com/javas-generics-getting-generic/
Projet Jigsaw
Initialement prévue en Java8 mais finalement retardé, il est annoncé pour Java 9 par par Mark Reinhold. Jigsaw vise à amliorer la modularité de Java afin de faciliter la scalabilité, améliorer la sécurité, améliorer les performances et faciliter les développements et la maintenance des librairies.
Retard de Jigsaw pour Java 8 :
L'annonce de la phase 2 : http://mreinhold.org/blog/jigsaw-phase-two
Jigsaw : http://openjdk.java.net/projects/jigsaw/goals-reqs/03
Présentation générale : http://cr.openjdk.java.net/~mr/jigsaw/notes/jigsaw-big-picture-01
Les JEP liées à Jigsaw :
jep 161 : http://openjdk.java.net/jeps/161
jep 162 : http://openjdk.java.net/jeps/162
Quelques présentations sur le sujet :
- Jigsaw en 2012 : http://openjdk.java.net/projects/jigsaw/doc/module-class-loading.pdf
- Mark Reinhold au JFokus 2014 : http://www.jfokus.se/jfokus14/preso/Jigsaw.pdf
Article :
- http://www.developpez.com/actu/72888/Java-le-projet-Jigsaw-se-concretise-Oracle-passe-a-la-mise-en-oeuvre-de-la-modularite-dans-Java-9/
- http://michael-peeters.blogspot.fr/2013/11/devoxx-2013-modular-java-platform-and.html
Les ressources Java 9
Après avoir parcouru les grandes lignes si vous voulez entrer dans le détail et voir par vous même :
- la early access : http://www.oracle.com/technetwork/java/javase/downloads/ea-jsp-142245.html
- download early access : https://jdk9.java.net/download/
- Les points d'entré :
- L'accès aux sources : http://hg.openjdk.java.net/jdk9
- Les Test results : http://download.java.net/openjdk/testresults/9/testresults.html?q=download/openjdk/testresults/9/testresults.html
En early access on en est déjà au build 25, les changes de ce dernier build.:
http://download.java.net/jdk9/changes/jdk9-b25.html
Et si vous souhaitez contribuer, ce que vous pouvez faire et comment le faire :
http://openjdk.java.net/contribute/
Pour finir
Petite url bonus, rien à voir (enfin si c'est de la jvm) : jvm, performance et network de Norman Maurer
- Sa presentation : http://normanmaurer.me/presentations/2013-jax-networking-on-jvm
- Son blog : http://normanmaurer.me/blog/
- Son github : https://github.com/normanmaurer
Aucun commentaire:
Enregistrer un commentaire