Présentation réalisée au CIGREF pour éclairer le sujet de l'évolution de l'écosystème JAVA suite au changement de licence et de modèle économique d'Oracle sur l'exploitation en production du JDK
1. RETOUR D’EXPERIENCE
STRATÉGIE ET ÉVOLUTION DE
L’OPENJDK
Ou comment se passer de l’Oracle JDK 8 ?
3 septembre 2019
Michel-Marie MAUDET
Directeur Général
mmaudet@linagora.com - +33660469852
2. NOUS SOMMES UN DES
LEADERS DE L’OPEN
SOURCE
1
4 continents - 200 employés
LOGICIELS FREE-FREE ASSURANT L’INDÉPENDANCE
TECHNOLOGIQUE
Avec ses logiciels et services, LINAGORA permet
aux grandes organisations publiques et privées
de développer leur indépendance technologique
Partage de
fichiers
sécurisés
Plateforme
Collaborative
ESB
Signature
électronique
Gestion et
fédération
d’identité
VOTRE PARTENAIRE INDUSTRIEL POUR SECURISER
VOTRE USAGE DE L’OPEN SOURCE
PLATEFORMISATION
Schéma
Directeur OSS
Assurance
Logicielle
SaaS & Cloud
privé
Conseil
juridique OSS
Digital
Agency
Implementation
& Training
SDOS
4. 1. EVOLUTION RECENTE DE L’ÉCOSYSTÈME JAVA
2. QUE FAIRE SI VOUS ETES EN OPENJDK 8 ?
3. QUE FAIRE SI VOUS ETES EN ORACLE JDK 8 ?
4. CONCLUSIONS
5. ANNEXE 1 : DETAIL DES DISTRIBUTIONS OPENJDK
6. ANNEXE 2 : CHECK LIST NON EXHAUSTIF POUR VOS
MIGRATIONS
5. 5/38
CONTEXTE ET BESOINS DE NOS CLIENTS
DE NOMBREUX PROJETS S’APPUIENT SUR JAVA
●
Essentiellement sur Oracle JDK 8 et/ou OpenJDK 8
NÉCESSITÉ D’UNE SYNTHÈSE DES ÉVOLUTIONS TECHNIQUES DEPUIS JAVA 8
●
À destination des équipes projets et pour le suivi des patch de sécurité
●
Anticipation des nouveautés de Java 11
HISTORIQUE ET PERSPECTIVES D'ÉVOLUTIONS DE OPENJDK
●
Communauté, Support, Gouvernance
●
Plusieurs distributions, laquelle choisir ?
REBONDIR ET DEFINIR STRATEGIE A LONG TERME SUITE AU CHANGEMENT
DE POLITIQUE DE SUPPORT DE ORACLE
7. 7/38
HISTORIQUE DE OPENJDK
2006 2007 2010 2011 2012 2014 2017 2018 2019
Sun lance
le projet
OpenJDK
(javac et
Hotspot
décembre
2016)
Oracle rachète
Sun
-
OpenJDK
devient la
solution standard
du Java SE
-
IBM rejoint le
projet
Red Hat
rejoint le
projet
Apple
rejoint le
projet
SAP rejoint le
projet
2013
Azul Systems
et Microsoft
lancent
Zulu JDK
(adapté aux
plateformes
cloud)
Sortie de
Java 8
Sortie
de Java
9
Sortie
de
Java
10
Sortie de Java 11
-
Amazon annonce
Corretto
Sortie
de
Java
12
8. 8/38
AUGMENTATION DU RYTHME DES LIVRAISONS
Avant Java 9
Après Java 9
Au moins 2 ans
Tous les six mois
(version LTS tous
les 3 ans)
●
Ajout de nouvelles librairies
●
Modifications de la JVM
●
Améliorations du langage
Intégration plus
simple
9. 9/38
COMPARAISON ENTRE OPENJDK 11 ET ORACLE JDK 11
& Oracle JDK
CONVERGENCE HISTORIQUE VERS OPENJDK
●
Mouvement débuté avec Sun, prolongé avec Oracle
●
Réécriture de composants au fil des versions (Red Hat, Apple…)
●
Bascule atteinte avec Java 11 : Oracle JDK est désormais une extension de OpenJDK
DIFFÉRENCES DE LICENCES
●
OpenJDK 11 : GNU General Public License v2 avec Classpath Exception (GPLv2+CPE)
●
Oracle JDK 11 : Oracle Technology Network (OTN)
Oracle JDK 11 n'est pas utilisable en production sans souscription !
DIFFÉRENCES TECHNIQUES MINEURES
●
Gestion des polices et des couleurs, rendu 2D, cryptographie, commandes et options de la
JVM
10. 10/38
CHANGEMENT DE POLITIQUE DE SUPPORT PAR ORACLE
OPENJDK 8 – FIN DES MISES À JOUR PUBLIQUES ET GRATUITES
●
Depuis janvier 2019...
●
...mais des mises à jour communautaires (donc, sans l'intervention de Oracle)
APRÈS JAVA 8 : VERSIONS NON LTS (9, 10, 12, 13…)
●
Durée de vie : 6 mois
●
Support gratuit : 6 mois
APRÈS JAVA 8 : VERSIONS LTS (11, 17, 23…)
●
Support gratuit par Oracle les 6 premiers mois, payant au-delà
CONFUSION SAVAMMENT ENTRETENUE (HTTPS://OPENJDK.JAVA.NET/)
●
Oracle OpenJDK et « OpenJDK » sur la même page de téléchargement
●
La même page promeut Oracle JDK, ce qui prête à confusion
●
=> Émergence de plusieurs distributions alternatives
12. 12/38
L’ÉCOSYSTÈME AUTOUR DE OPENJDK
Oracle JDK Red Hat Amazon AdoptOpenJDK
Origine / Code Source OpenJDK OpenJDK + patchs Amazon OpenJDK
Licence LICENCE Propriétaire
Support payant (O/N)
OpenJDK
(mainteneur officiel
Depuis avril 2019)
GNU GPL V2 + CPE
(Class Path Exception)
GNU GPL V2 + CPE
(Class Path Exception)
GNU GPL V2 + CPE
(Class Path Exception)
OUI
Oracle JDK
OUI
Via les souscription RHEL
NON
Tout est gratuit !!!
OUI
Via IBM + jClarity
Support
communautaire sans
engagements ou SLA
OUI pour les 6 premiers mois après
la sortie d’une nouvelle version
OUI
Via la communauté OpenJDK
Pas de SLA
OUI
Via la communauté OpenJDK
Pas de SLA
OUI
Uniquement pour les scripts de
packaging
Politique gestion des
versions / Fréquences
des patchs
Tous les 3 mois une nouvelle
version suivant le projet OpenJDK
Tous les 3 mois une nouvelle
version suivant le projet OpenJDK
Tous les 3 mois une nouvelle
version suivant le projet OpenJDK
+ patch urgent fourni par Amazon
Tous les 3 mois une nouvelle
version suivant le projet OpenJDK
Stratégie / Feuille de
route
Version 11 LTS
Une LTS tous les 3 ans
Mainteneur officiel jusqu’en 2025
Une version tous les 3 trois
Support en production via la
souscription RHEL
Corretto 11 disponible depuis avril
2019 et support jusqu’en août 2024
Suivant le rythme du projet
OpenJDK
AdoptJDK = uniquement packaing
OpenJDK
Synthèse générale
évaluation de la
distribution OpenJDK
13. 13/38
TARIFS DU SUPPORT ORACLE JDK
POUR UNE GRANDE ORGANISATION OU MINISTÈRE, ON ARRIVE RAPIDEMENT A 3000 ET 5000
PROCESSEURS QUI EXECUTENT DES ENVIRONNEMENTS JAVA : SERVEURS APPLICATIFS, PLATEFORME
CI/CD…
COÛT ANNUEL ESTIME : ENVIRON 650 K€
15. 15/38
QUE FAIRE SI VOUS ETES EN OPENJDK 8 ? (1/2)
EXÉCUTION D’APPLICATIONS SOUS JAVA 11
●
Applications compilées sous Java 8 compatibles avec Java 11
●
Ne doivent pas utiliser d’éléments supprimés (attention aux dépréciations)
●
Pas nécessaire de modulariser les applications pour le moment
JIGSAW => IMPACT FORT
●
Middleware et librairies qui manipulent le bytecode
MISE À JOUR DES ENVIRONNEMENTS A VERIFIER ET METTRE A JOUR
●
Développement : Eclipse 4.10
●
Outils de compilation (Maven 3.5.4+, plug-ins Maven)
●
Tomcat 7.0.85+, Sonar 5.8+
MISE À JOUR DES DÉPENDANCES
●
Dépendances directes/indirectes manipulant du bytecode (ASM, Byte Buddy, cglib, Javassist)
Prendre garde aux
projets abandonnés et
non maintenus
●
SpotBugs plutôt que FindBugs
●
Log4j v2 plutôt que Log4j v1
●
JaCoco plutôt que Cobertura
16. 16/38
QUE FAIRE SI VOUS ETES EN OPENJDK 8 ? (2/2)
PRISE EN COMPTE DES ÉLÉMENTS SUPPRIMÉS
Porter une attention toute particulière aux points suivants :
●
Modules JEE
●
Corba
●
Applets et Java Web Start
●
Java FX
●
Classes et paquets supprimés
●
URL Class Loader
●
APIs internes
●
Endorsed Standards
Outil d’analyse des
dépendances en ligne de
commande
[... truncated split package warnings ...]
[... truncated some module/JAR dependencies...]
$project -> libs/commons-codec-1.6.jar
$project -> libs/commons-io-2.4.jar
$project -> libs/dom4j-1.6.1.jar
$project -> libs/exp4j-0.1.38.jar
$project -> libs/guava-18.0.jar
$project -> libs/heaps-2.0.jar
$project -> libs/hibernate-core-4.3.6.Final.jar
$project -> java.base
$project -> java.datatransfer
$project -> java.desktop
$project -> java.sql
$project -> java.xml
[... truncated more module/JAR dependencies...]
edu.udo.sh -> com.beust.jcommander jcommander-1.35.jar
edu.udo.sh -> edu.udo.sh.data $project
edu.udo.sh -> edu.udo.sh.gui $project
edu.udo.sh -> edu.udo.sh.gui.util $project
edu.udo.sh -> edu.udo.sh.util $project
edu.udo.sh -> java.io java.base
edu.udo.sh -> java.lang java.base
edu.udo.sh -> javax.swing java.desktop
edu.udo.sh -> org.slf4j slf4j-api-1.7.5.jar
[... truncated many, many more package dependencies ...]
jdeps --jdk-internals -R
--class-path 'libs/*' $project
●
Fichiers .class et les JAR
●
Dépendances statiques
entre les classes
●
Possibilité de
filtrer/regrouper les résultats
●
Librairies internes utilisées
JDEPS
17. 17/38
QUE FAIRE SI VOUS ETES EN ORACLE JDK 8 ?
LES DIFFÉRENCES ENTRE ORACLE JDK 11 ET OPENJDK 11 SONT MINCES
GESTION DES POLICES ET COULEURS
●
Polices avec licence commerciale (exemple Lucida)
●
Moteur T2K pour Oracle, FreeType pour OpenJDK
●
Correspondance des couleurs :
Oracle Kodac Color Matching System (KCMS)
OpenJDK Little Color Matching System (LCMS)
RENDU 2D
●
Ductus pour Oracle (propriétaire) VS. Marlin pour OpenJDK
●
Raison : volonté d’unification des technologies web entre les différents supports physiques
MÉTHODES DE CONFIGURATION DES CLÉS DE CHIFFREMENT
Une migration de Oracle JDK 8 vers OpenJDK 11
est très proche d’une migration OpenJDK 8 à OpenJDK 11.
19. 19/38
A RETENIR EN SYNTHESE
DEPUIS JAVA 9
●
Livraisons plus fréquentes, notion de versions LTS, à privilégier
●
Nouvelle politique de Oracle
Support gratuit pendant 6 mois et uniquement sur OpenJDK versions LTS
Licence commerciale pour Oracle JDK en environnements de production
JAVA 11 EST LA PREMIÈRE VERSION LTS
●
Oracle JDK 11 est une extension de OpenJDK 11 (plus de 99 % de code commun)
●
Passage facilité d'une distribution à l'autre
OPENJDK 11
●
Communauté solide et pérenne (supportée par de grandes sociétés)
●
Support Oracle terminé en mars 2019
●
Plusieurs distributions de la version 11 LTS (support gratuit et durable)
●
Amazon Corretto est une bonne option
(même si des questions se posent sur le long terme)
●
Oracle
●
SAP
●
IBM
●
Red Hat
●
Microsoft
●
Azul Sytems
●
Amazon
●
…
20. 20/38
RECOMMANDATIONS & STRATEGIE
JE SUIS EN JAVA 8
●
Avec Oracle JDK 8 → migration vers OpenJDK 11 à privilégier avec nécessité de migration du code application et
dépendances
●
Avec OpenJDK 8 → plus de support commercial depuis janvier mais possibilité de rester en OpenJDK 8 avec assurance
logiciel libre
BÉNÉFICES DU PASSAGE DE JAVA 8 À JAVA 11
●
Nouveaux ramasse-miettes plus performants
●
Améliorations pour les conteneurs Docker
●
Des évolutions du langage dans la continuité des précédentes versions
●
JLink et le système de modules permettent de créer des JDK personnalisés et minimalistes
Pratique pour les applications autonomes, pas pour les serveurs d'applications
Attention à la gouvernance ensuite !
DIFFICULTÉS DE MIGRATION
●
Jigsaw, le système de modules, implique une MAJ des environnements
(Eclipse, Tomcat, Maven, etc)
●
Sortie de nombreux modules et paquets du JDK
(besoin de recourir à des projets externes, avec des impacts plus ou moins forts)
●
Pas de migration possible pour les applications utilisant Java Web Start (aucune alternative)
●
Pas de migration possible pour CORBA, pour le moment
21. 21/38
RECOMMANDATIONS & STRATEGIE
CHOIX D'UNE DISTRIBUTION
Corretto est une bonne
option
●
Multi-plate-formes
●
Patchs OpenJDK
●
Patchs Amazon + réversion
●
Support long (2024) mais
pas de garantie de
résultats
Red Hat OpenJDK
●
Via gestionnaire de paquets
●
Patchs OpenJDK
●
Patchs Red Hat + réversion
●
Support long (2024)
Red Hat est le fournisseur officiel de l’OpenJDK depuis avril 2019.
22. 22/38
OFFRE D’ACCOMPAGNEMENT DE LINAGORA
AFIN DE BENEFICIER DE L’APPROCHE « FREE FREE » (LIBRE & GRATUIT) MAIS AVEC UNE
GARANTIE DE RÉSULTATS ET DES SLA SUR LE PRODUCTION EN PRODUCTION
ACCOMPAGNEMENT AU POSITIONNEMENT SUR OPENJDK ET MIGRATION
●
Conseil personnalisé en fonction de la version du JDK et du contexte de migration
●
Préconisations en terme de versions et de gestion des évolutions applicatives
●
Portage de code applicatif / Aide à la mise à jour des environnements
SUPPORT EN PRODUCTION OSSA AVEC GARANTIE DE RESULTATS ET SLA
●
Offre industrielle de support avec 18 ans d’expérience et plus de 40 grands clients
internationationaux
●
Basé sur OpenJDK (paquets communautaires)
●
Possibilité de personnalisation (Jlink, intégration DOCKER,….)
●
SLA production avec possibilité 7/24 en langue française
●
Veille sur l’écosystème permanente / Veille sécurité / Gouvernance des versions
●
Le support OpenJDK avec des environnements de développement, d’intégration, CI/CD packagé
dans une offre de support Open Source pouvant être étendue aux autres logiciels libres utilisés
par l’entreprise
23. www.LINAGORA.com
Facebook : LINAGORA - Twitter : @linagora
Tour Franklin 31ème étage
100 Terrasse Boieldieu
92042 PARIS LA DÉFENSE FRANCE
Tél. : +33 (0)1 46 96 63 63 - Fax : +33 (0)1 46 96 63 64
MERCI DE VOTRE ATTENTION
25. 25/38
ORACLE OPENJDK
●
Binaire fournit par Oracle / communauté OpenJDK (projet historique)
●
Fonctionnellement équivalent à Oracle JDK
●
Utilisable en production sans licence commerciale
LICENCE : GPLV2 + CPE
GOUVERNANCE
●
Projet OpenJDK
(communauté OpenJDK, Oracle, IBM, Red Hat, Eclipse, Université Oswego)
SUPPORT GRATUIT
●
Assuré par Oracle les six premiers mois
●
Ensuite, par la communauté et dirigé par Red Hat jusqu’en 2025
PAS DE SUPPORT PAYANT => ORACLE JDK
FRÉQUENCE DE SORTIE DES PATCHS
●
Tous les trois mois
FEUILLE DE ROUTE
●
Support dirigé jusqu’en 2025 par Red Hat
●
Java 12 disponible
26. 26/38
RED HAT OPENJDK : SUPPORT OFFICIEL
OPENJDK DEPUIS AVRIL 2019
●
Binaire fournit par Red Hat et identique à Oracle OpenJDK
●
Utilisable en production sans licence commerciale (y compris pour Windows)
●
Accès aux binaires Linux facilité avec souscription RHEL
OBJECTIFS
●
Fournir un cadre clair à l’utilisation de OpenJDK
●
Proposer un support communautaire plus long
PLATE-FORMES : RHEL 7.6 ET WINDOWS SERVER
SUPPORT GRATUIT
●
Les six premiers mois, assuré par Oracle, ensuite par la communauté et dirigé par
Red Hat jusqu’en 2025
SUPPORT PAYANT
●
Pour la version en production – comprend une assistance personnelle
FRÉQUENCE DE SORTIE DES PATCHS
●
Fréquence projet OpenJDK (tous les trois mois)
●
Tous les six mois, patch développé par Red Hat
FEUILLE DE ROUTE
●
Support dirigé jusqu’en 2025 par Red Hat
27. 27/38
IBM JDK
●
Ne se base pas sur le projet OpenJDK
●
Implémente le Java SE
●
Destiné aux développeurs travaillant avec les technologies IBM
●
Utilise la JVM OpenJ9
LICENCE : GPLV2 + CPE
GOUVERNANCE : IBM ET JAVA SE POUR LES SPÉCIFICATIONS
SUPPORT GRATUIT
●
Assuré par IBM en livrant des corrections (nouvelles versions de son JDK)
SUPPORT PAYANT
●
Via l’offre générale « IBM Runtimes for Business » (assistance personnelle
24h/24 et 7j/7
FRÉQUENCE DE SORTIE DES PATCHS
●
Tous les mois
FEUILLE DE ROUTE
●
Sortie de la version 11 en 2019
28. 28/38
ADOPT OPENJDK
●
Fournit des binaires OpenJDK à jour et pré-construits des versions LTS (8 et 11) à
partir des codes source de la communauté OpenJDK managée par Red Hat
●
Projet Open Source soutenu par de nombreuses sociétés
●
Possible de choisir un binaire adapté à notre machine virtuelle (HotSpot ou OpenJ9)
LICENCE
●
Projet : Apache version 2.0
●
Binaires : GPL2 + CPE
GOUVERNANCE
●
Comité de pilotage technique : Red Hat, GoDaddy, IBM, Packet, jClarity
SUPPORT GRATUIT
●
Communauté de développeurs open source (pour les scripts de construction)
SUPPORT PAYANT
●
Assuré par IBM et jClarity – Inclut le support de OpenJDK
FRÉQUENCE DE SORTIE DES PATCHS
●
Au fur et à mesure de l’arrivée des tickets – Fréquence OpenJDK (tous les 3 mois)
pour les binaires
FEUILLE DE ROUTE
●
Binaires version 11 à jour jusqu’en 2022
29. 29/38
ZULU
●
Adapté aux plate-formes cloud et aux produits embarqués mobiles et l’IoT
●
Dispose de sa propre machine virtuelle : Zing
LICENCE : GPLV2 + CPE
GOUVERNANCE
●
Projet OpenJDK et Azul Systems
SUPPORT GRATUIT
●
Assuré par la communauté OpenJDK
SUPPORT PAYANT
●
Support dédié au JDK – Assistance 24h/24 et 7j/7 – aide pour la migration
durant 2 ans
FRÉQUENCE DE SORTIE DES PATCHS
●
Fréquence OpenJDK (tous les 3 mois)
FEUILLE DE ROUTE
●
Support payant pour la version 11 jusqu’en 2027
●
Support gratuit jusqu’en 2025 (identique OpenJDK)
30. 30/38
CORRETTO
●
Solution prête à l’emploi, utilisable en production sans licence commerciale
●
Multi-plate-formes dont les environnements cloud
●
Utilise la machine virtuelle HotSpot
LICENCE : GPLV2 + CPE
GOUVERNANCE
●
Projet OpenJDK et Amazon Web Services
SUPPORT GRATUIT
●
Assuré par la communauté OpenJDK et Amazon
●
Amélioration des performances, RETEX Amazon
●
Corretto 8 supporté jusqu’en août 2023 (scénario à privilégier pour ceux qui
sur OpenJDK 8)
PAS DE SUPPORT PAYANT
FRÉQUENCE DE SORTIE DES PATCHS
●
Fréquence OpenJDK (tous les 3 mois) + patchs d'urgence
FEUILLE DE ROUTE
●
Corretto 11 disponible depuis avril 2019 et support jusqu’en août 2024
31. 31/38
SAP MACHINE
●
Développé par SAP pionnière du projet OpenJDK
●
Second contributeur derrière Oracle
●
Destiné à leurs clients et partenaires pour faire fonctionner les produits SAP
LICENCE
●
GPLv2+CPE
GOUVERNANCE
●
Projet OpenJDK et SAP
SUPPORT GRATUIT
●
Assuré par la communauté OpenJDK et SAP
SUPPORT PAYANT
●
Offre générale de SAP à destination de leurs clients
FRÉQUENCE DE SORTIE DES PATCHS
●
Fréquence OpenJDK (tous les 3 mois)
FEUILLE DE ROUTE
●
Même feuille de route que Oracle
●
Versions LTS disponibles et supportées pendant 4 ans
33. 33/38
NOUVEAUTÉ : JIGSAW, LE SYSTÈME DE MODULES
Depuis Java 9
Modules
Paquets
module exemple.fichier.module {
// liste des paquets,ressources*, services et
// modules compris ou requis par ce module
}
Nouveau niveau
d’abstraction
Fichier module
Nom du module
Mot-clé
* Plus besoin du dossier « ressources » à la racine
4 types de modules
Modules système
-
incluent modules
Java SE et JDK
Modules sans nom
-
Ressources
chargées dans le
classpath
Modules automatiques
-
intégrés via des
fichiers JAR
(module path)
Modules applicatifs
-
Les modules de
notre application
34. 34/38
NOUVEAUTÉ : JRE PERSONNALISÉ
JAVA 11
●
Plus de JRE proposé de base, juste un JDK
JIGSAW A PERMIS L'APPARITION DE JLINK
●
Outil pour la création d’un JRE personnalisé
●
Réduction taille JDK (286 Mo pour l'ancien JRE)
●
Contient seulement les éléments dont on a besoin
class Test {
public static void main(String[]args) {
System.out.prinltn("Hello World");
}
}
javac –module-source-path src -d out -m demoModule
jlink –module-path out –add-modules
demoModule,<chemin_vers_le_dossier_jmods>/java.base –output myjre
java -m demoModule/Test
Fonctionne seulement
avec le système de
modules (tutoriel pour
applications non-modulaires)
35. 35/38
AU RAYON DES NOUVEAUTÉS DEPUIS JAVA 9
(NON EXHAUTIF)
API FLOW
AMÉLIORATIONS DE L'API DE GESTION DES PROCESSUS
NOUVELLE INTERFACE « PROCESSHANDLE »
NOUVEAU CLIENT HTTP
COMPILATION MULTI-VERSIONS
JAVA 9 - G1 NOUVEAU RAMASSE-MIETTES PAR DÉFAUT
JAVA 11 – GARBAGE COLLECTORS EPSILON ET ZGC (EXPÉRIMENTAUX)
AMÉLIORATION FONCTIONNEMENT A L’INTERIEUR D’UN CONTENEUR
CORRECTION DU MÉCANISME D’ATTACHE D’UN PROCESSUS HÔTE À UN PROCESSUS
JAVA EXÉCUTÉ DANS UN CONTENEUR
THREAD-LOCAL HANDSHAKES
CONSTANTES DYNAMIQUES
NOUVELLES MÉTHODES DANS LES INTERFACES LIST, SET ET MAP
36. 36/38
ÉLÉMENTS DÉPRÉCIÉS DEPUIS JAVA 8 (NON EXHAUSTIF)
PAQUETS ET APIS DE SÉCURITÉ
●
java.security.{acl, cert, Certificate, Identity, IdentityScope, Signer, auth.Policy}
●
com.sunjarsigner
CONSTRUCTEURS DE CLASSES PRIMITIVES
●
Boolean, Byte, Short, Character, Integer, Long, Float, Double
●
Autoboxing / Méthodes valueOf
MÉTHODE FINALIZE CLASSE OBJECT
●
Problèmes de performances et des blocages
●
Préférer java.lang.ref.Cleaner et java.lang.ref.PhantomReference
MÉTHODES GSSCONTEXT BASÉES SUR LES FLUX
●
Problèmes de conception (définition du protocole filaire et supposition)
●
Implémentation correcte impossible quand on manque d’informations sur le jeton
MOTEUR NASHORN
●
Paquets javax.script, jrunscript, outil jjs, jdk.nashorn.api.{ tree, scripting }
OUTILS ET API PACK200
●
API Pack200 dans java.util.jat, pack200 et unpack200
37. 37/38
ÉLÉMENTS DÉFINITIVEMENT SUPPRIMÉS
(NON EXHAUSTIF)
Modules CORBA
●
idlj
●
orbd
●
servertool
●
tnamesrv
Classes et paquets
●
sun.nio.ch.PollSelectorProvider
●
Références vers java.awt.peer et
java.awt.dnd.peer
●
Moteur AppleScript
●
Classes dans com.sun.security.auth
●
Fichier management-agent.jar
Common DOM APIs
●
com.sun.java.browser.plugin2.DOM
●
Sun.plugin.dom.DOMObject
Support de monitoring
SNMP
Les propriétés suivantes de
com.sun.management.snmp
ne fonctionnent plus :
●
port
●
trap
●
interface
●
acl
●
acl.file
Mises à jour automatiques sous
Windows et macOS
Java Mission Control
Version indépendante
disponible
JRE
Disponible en
téléchargement
indépendant
38. NOTRE FUTUR
EST OUVERT
For more information:
Michel-Marie MAUDET
Directeur Général
mmaudet@linagora.com Tel : +33 6 60 46 98 52
www.linagora.com
Facebook : LINAGORA - Twitter : @linagora