Migration vers Java 9+ Quelles problématiques? Travailler avec les jars et le classpath Préparer une migration: mises-à-jour, dépendances… Avec ou sans modules? Faut-il tout rendre modulaire? Mieux connaître les nouveautés du langage Java 11, 13 … – Le blog de Pierre-Yves. Exemple de cas pratique: évolution d'un projet du JDK 8 au JDK 11. JShell, l'implémentation de REPL (Read Evaluate Print Loop) Introduction au JShell Evaluer le code (snippets) Utiliser les bibliothèques (Modules, Jar, etc) Les autres possibilités avec JShell: commandes, scripts, etc Exemples de cas pratiques: exécution de scripts et test de code à la volée avec JShell. Inference de type L'inference de type pour les variables locales Paramètres de lambdas Syntaxe des variables locales pour les lambdas Exemples de cas pratiques: utilisation de l'inference de type pour variable locale (Java 10) et de la syntaxe pour les paramètres des expressions lambdas (Java 11).

  1. Nouveauté java 11 juin
  2. Nouveauté java 11 janvier

Nouveauté Java 11 Juin

Le principe est très simple, on donne: le répertoire des sources du JDK que l'on souhaite analyser la version de Java pour laquelle on souhaite connaître les nouveautés du langage ainsi qu'une liste de classes qui nous intéresse Méthodes ajoutées à en Java 9 Par exemple, quelles méthodes ont été ajoutées à la classe Stream en Java 9: $ jbang whats-new-in-java@grumpyf0x48 -s /usr/lib/jvm/openjdk-11 -r 9 public interface Stream extends BaseStream> // since 1. 8 { default Stream takeWhile(Predicate predicate); // since 9 default Stream dropWhile(Predicate predicate); // since 9 public static Stream ofNullable(T t); // since 9 public static Stream iterate(T seed, Predicate hasNext, UnaryOperator next); // since 9} Cela suppose d'avoir installé le paquet des sources du JDK de votre système Linux. Par exemple sur Ubuntu: $ sudo apt-get install openjdk-11-source $ cd /usr/lib/jvm/openjdk-11 $ sudo unzip Changements sur la classe depuis java 8 Pour connaître l'évolution de la classe depuis Java 8: $ jbang whats-new-in-java@grumpyf0x48 -s /usr/lib/jvm/openjdk-11 public final class Optional // since 1.

Nouveauté Java 11 Janvier

Déprécation d'API: Security Manager et Applet API Je pense que ça ne devrait choquer personne de voir ces API supprimées dans le futur. Les Applets sont complètement dépassés par les standard des navigateurs. Le Security Manager n'est pratiquement jamais utilisé. Java 17 : le point sur les nouveautés. À noter que le Security Manager ne sera pas supprimé sans alternatives. Je ne détaillerais pas ici, mais la JEPS contient beaucoup de proposition pour remplacer l'usage du Security Manager par d'autres techniques ou API. Au revoir AOT/JIT-compiler et RMI Activation Ici on est à l'étape d'après la dépréciation: la suppression. La possibilité de compiler en AOT et via JIT-Compiler a été retirée. C'était expérimental, mais la communauté n'a pas montré un gros engouement pour cette possibilité. Il reste possible d'obtenir la même chose via GraalVM, car AOT et JIT-Compiler se basait sur les travaux autour de GraalVM, mais personnellement j'aurai préféré une fusion des deux plateformes, sait-on jamais, on pourrait voir un nouveau projet du genre à l'avenir.

La deuxième, qui n'impacte pas forcément tout le monde, est le fait que certains module sont supprimés, tel que Java EE(,, tivation,,, ansaction,,, ) ou Corba. On devra donc utiliser des third-party pour avoir tous ces outils. Je n'ai pas listé tous les changements en essayant de me focaliser sur ce qui impacte directement le développeur, mais de nombreux changements sont également portés par ces versions. Nouveauté java 11 février. Voila une liste rapide non exhaustive: amélioration la rapidité du JDK, amélioration du garbage collector, optimisation sur la gestion des thread, support d'unicode 10… Ce sont des changements que nous ne mettrons pas à proprement parler en oeuvre dans notre code, mais dont nous bénéficieront quand même. Java 12 La prochaine version de Java, Java 12 donc, devrait sortir en Mars 2019, en suivant donc l'idée d'une release tous les 6 mois. On connait déjà deux sujets abordés par cette version, encore en cours de développement. D'or et déjà, on sait que le « switch » devrait connaitre des changements.