Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tour des nouveautés de java 8

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Tour des nouveautés de java 8

Présentation des nouveautés de java 8 lors du java meetup à akendewa

Avatar for Komi Serge Innocent

Komi Serge Innocent

April 25, 2015

More Decks by Komi Serge Innocent

Other Decks in Programming

Transcript

  1. De quoi parlerons nous? • Expressions lambdas • Functional interface

    • Method reference • Default method • Api Stream • Api Date/Time • Ce dont nous ne parlerons pas
  2. Alors c’est quoi les lambdas Tout simplement des méthodes anonymes

    dont le but est de réduire la verbosité des classes anonymes.
  3. Interface fonctionnelle c’est quoi? C’est une interface : • Qui

    possède une unique méthode abstraite • Qui peut être annoté par @FunctionnalInterface (optionnel)
  4. Des lambdas? En veux tu en voilà! Le package java.util.function

    fournit avec java 8 défini un certain nombre de functional interfaces(43). Les principales sont : Supplier Consumer Function Predicate
  5. Les method reference • Elles permettent de traiter une méthode

    comme une instance d'une interface fonctionnelle. • Un raccourci lorsque la lambda délègue à une méthode
  6. Default method • Ajoute des comportements par défaut aux interfaces.

    • Fournit un code par défaut qui est utilisé si aucune autre implémentation n'est fournie • Ne fonctionne que « par défaut » !
  7. API Stream: qu’est ce qu’un stream en java 8 •

    Un objet qui expose le pattern map/filter/reduce pour java ! • Un objet qu’on connecte a une source • Un objet qui ne porte pas les données qu’il traite • C'est un objet sur lequel on peut définir des opérations • D'un point de vue technique, un stream est une interface paramétrée.
  8. API Stream: Opérations • Des opérations intermédiaires et des opérations

    terminales • Seule une opération terminale déclenche les traitements • Une seule opération terminale est autorisée • Un stream ne peut être traitée qu’une fois
  9. API Stream: Opérations terminales Les opératios terminales sont les suivantes

    : • reduce(), count(), findAny(), findFirst() • Collect() • ForEach • iterators
  10. Ce que nous ne verront pas :( • Api Date/Time

    • Annotations multiples • Nashorn, le nouveau moteur Javascript • Concurrency Updates • Invokedynamic • Et plein d'autres fonctionnalités que je vous invite à aller voir sur http://openjdk.java.net/projects/jdk8/features
  11. Un peu de lecture, ça fait du bien ;) •

    http://download.java.net/jdk8/docs/ • http://download.java.net/jdk8/docs/api/ • https://blogs.oracle. com/thejavatutorials/entry/jdk_8_documentation_develo per_preview • http://docs.oracle. com/javase/tutorial/java/javaOO/lambdaexpressions. html • https://github.com/yohanbeschi/new-in-java8.git