Programmer avec Java

La 4e de couv. indique : "Ce livre aide les programmeurs Java expérimentés à exploiter toutes les nouveautés de Java 9 à Java 11. Il n'oublie pas pour autant les néophytes, grâce à de nombreux exemples montrant comment bien exploiter les API Java modernes et adopter de bonnes pratiques. La...

Description complète

Enregistré dans:
Détails bibliographiques
Auteurs principaux : Evans Benjamin J. (Auteur), Flanagan David (Auteur), Engler Olivier (Traducteur)
Format : Livre
Langue : français
Titre complet : Programmer avec Java / Benjamin J. Evans et David Flanagan; [traduction de l'anglais, Olivier Engler]
Publié : Paris : First Editions , DL 2019
O'Reilly
Description matérielle : 1 vol. (XVI-459 p.)
Traduction de : Java in a nutshell
Sujets :
  • P. ix
  • Avant-propos
  • P. xi
  • Préface
  • P. 1
  • Partie I : Présentation de Java
  • P. 3
  • 1. Introduction à l'environnement Java
  • P. 4
  • Le langage, la machine JVM et l'écosystème
  • P. 9
  • Bref historique de Java et de la JVM
  • P. 12
  • Cycle de vie d'un programme Java
  • P. 12
  • Quelques questions fréquentes
  • P. 15
  • Java et la sécurité
  • P. 15
  • Comparaison de Java à d'autres langages
  • P. 17
  • Réponses à quelques critiques de Java
  • P. 21
  • 2. Les règles d'écriture Java
  • P. 22
  • Présentation du parcours
  • P. 22
  • Structure lexicale
  • P. 27
  • Types de données primitifs
  • P. 36
  • Expressions et opérateurs
  • P. 55
  • Instructions
  • P. 77
  • Méthodes
  • P. 85
  • Présentation rapide des classes et des objets
  • P. 90
  • Tableaux
  • P. 99
  • Types référence
  • P. 103
  • Paquetages et espace de noms Java
  • P. 109
  • Structure d'un fichier source Java
  • P. 110
  • Fichiers de classes et exécution du programme
  • P. 111
  • Conclusion
  • P. 113
  • 3. Programmation orientée objets Java
  • P. 113
  • Le concept de classe
  • P. 116
  • Champs et méthodes
  • P. 123
  • Création et initialisation d'un objet
  • P. 128
  • Sous-classes et héritage
  • P. 140
  • Confinement des données et encapsulation
  • P. 148
  • Méthodes abstraites et classes abstraites
  • P. 153
  • Synthèse des modificateurs
  • P. 155
  • 4. Le système des types Java
  • P. 156
  • Interfaces
  • P. 165
  • Types génériques
  • P. 178
  • Énumérations et annotations
  • P. 183
  • Expressions lambda
  • P. 191
  • Types imbriqués
  • P. 202
  • Types non dénotables et mot clé var
  • P. 204
  • Conclusion
  • P. 207
  • 5. Introduction à la conception orientée objets Java
  • P. 207
  • Valeurs Java
  • P. 209
  • Quelques méthodes fondamentales de java.lang.Object
  • P. 214
  • À propos de conception orientée objets
  • P. 225
  • Conception orientée objets avec les lambdas
  • P. 228
  • Gestion des exceptions
  • P. 230
  • Programmation robuste en Java
  • P. 233
  • 6. Gestion mémoire et parallélisme en Java
  • P. 233
  • Fondamentaux de la gestion mémoire Java
  • P. 238
  • Techniques d'optimisation du recyclage mémoire par la JVM
  • P. 240
  • La zone du tas (heap) de HotSpot
  • P. 244
  • Finalisation
  • P. 247
  • Programmation à concurrence en Java
  • P. 259
  • Conseils d'utilisation des exétrons
  • P. 261
  • Conclusion
  • P. 263
  • Partie II : Utilisation de la plate-forme Java
  • P. 265
  • 7. Conventions de rédaction et documentation
  • P. 265
  • Conventions de nommage et de capitalisation
  • P. 268
  • Conseils pratiques de nommage
  • P. 269
  • Commentaires documentaires Java
  • P. 279
  • Outils documentaires Doclets
  • P. 280
  • Bonnes pratiques de portabilité
  • P. 285
  • 8. Les collections de données Java
  • P. 285
  • Introduction à l'API Collections
  • P. 307
  • Flux Java Streams et expressions lambda
  • P. 316
  • Conclusion
  • P. 317
  • 9. Gestion des formats de données standard
  • P. 317
  • Le format texte
  • P. 324
  • Nombres et librairies Math
  • P. 330
  • Dates et heures en Java 8
  • P. 336
  • Conclusion
  • P. 337
  • 10. Gestion de fichiers et entrées/sorties (I/0)
  • P. 337
  • Entrées/sorties Java classiques
  • P. 343
  • Les entrées/sorties Java modernes
  • P. 347
  • Canaux et tampons de NIO
  • P. 350
  • Entrées/sorties asynchrones
  • P. 353
  • API réseau de Java
  • P. 359
  • 11. Chargement de classes, Reflection et handles de méthodes
  • P. 359
  • Fichiers de classes, objets de classes et métadonnées
  • P. 362
  • Phases du chargement de classes
  • P. 364
  • Chargement de classes et sécurité
  • P. 366
  • Fonctionnement du chargement de classes
  • P. 370
  • Le mécanisme Reflection
  • P. 376
  • Handles de méthodes
  • P. 381
  • 12. Les modules de plate-forme Java (JPMS)
  • P. 382
  • Pourquoi des modules ?
  • P. 386
  • Conception d'un nouveau module
  • P. 396
  • Points sensibles des modules
  • P. 398
  • Conclusion
  • P. 401
  • 13. Outils de la plate-forme
  • P. 401
  • Outils sur ligne de commande
  • P. 416
  • L'interpréteur JShell
  • P. 420
  • Conclusion
  • P. 421
  • Annexe A : Nashorn et VisualVM
  • P. 421
  • Présentation de Nashorn
  • P. 423
  • Exécution de JavaScript par Nashorn
  • P. 425
  • Nashorn et javax.script
  • P. 428
  • Concepts Nashorn avancés
  • P. 433
  • Le futur de Nashorn et GraalVM
  • P. 435
  • VisualVM
  • P. 443
  • Index