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