Les nouveautés java 8

 

J’ai découvert java 8 dans sa version instable, lors de ma première mission chez BforBank en 2013. Chaque nouvelle version de Java est importante, mais celle-ci change radicalement la donne. Ce document est un guide autour des nouveautés de Java 8. Il commence par une introduction pratique aux expressions lambdas, ensuite, il couvre la nouvelle API de Streams et montre comment vous pouvez l’utiliser pour rendre le code basé sur les collections radicalement plus facile à comprendre et à maintenir. Il explique également d’autres fonctions importantes de Java 8, y compris les méthodes par défaut au niveau des interfaces, les Optionals, les Futures pour tout ce qui touche à l’exécution asynchrone et enfin la nouvelle API Date et heure. Le code des études de cas est disponible sur mon repository officiel github: https://github.com/ftounga/java8features

Table des matières

Partie 1. Principes fondamentaux
             Chapitre 1. Java 8: pourquoi devriez-vous vous en soucier?
             Chapitre 2. Passer un comportement en paramètre de fonction
             Chapitre 3. Expressions Lambda

Partie 2. Traitement de données fonctionnelles
            Chapitre 4. Présentation de l’API Stream
            Chapitre 5. Travailler avec des Stream
            Chapitre 6. Collecte de données avec des Streams
            Chapitre 7. Traitement parallèles des données et performance 

Partie 3. Programmation efficace en Java 8
            Chapitre 8. Réfactoring, test et débogage
            Chapitre 9. Méthodes par défaut au niveau des interfaces
            Chapitre 10. Utilisation des Optional comme meilleure alternative à nulle
            Chapitre 11. Nouvelle API de date et d’heure

Partie 4. Au-delà de Java 8
            Chapitre 12. Penser fonctionnel
            Chapitre 13. Techniques de programmation fonctionnelle
            Chapitre 14. Combinaison d’OOP et FP: comparaison de Java 8 et Scala
            Chapitre 15. Conclusions et amélioration possible de Java

Annexe A. Mises à jour du language
Annexe B. Mises à jour de diverses bibliothèques
Annexe C. Exécuter plusieurs opérations en parallèle sur un flux
Annexe D. Bytecode lambdas et la JVM