Garbage collector en Java : G1, ZGC et comment choisir
Comparaison de G1 et ZGC en Java 21 : fonctionnement, activation, lecture des logs GC, vérification du GC en cours et critères de sélection pour une application Spring Boot.
Comparaison de G1 et ZGC en Java 21 : fonctionnement, activation, lecture des logs GC, vérification du GC en cours et critères de sélection pour une application Spring Boot.
Utiliser LocalDate, ZonedDateTime et Duration aux bons endroits : calculer les jours, convertir les fuseaux horaires, gérer l'heure d'été et écrire des tests stables avec Clock.
Comparez List.of, List.copyOf et Collections.unmodifiableList : lequel fait une copie, lequel n'est qu'une vue, comment ils gèrent null, et quand utiliser lequel.
Comparez les types de thread pool en Java 21 : fixed, cached, scheduled, work-stealing, virtual thread. Comment configurer ThreadPoolExecutor et l'utiliser en toute sécurité dans Spring Boot.
Distinguer les exceptions checked et unchecked, choisir le bon type, concevoir des exceptions contextualisées et éviter les anti-patterns courants.
Utilisez Comparator.comparing, thenComparing, reversed et nullsLast pour trier selon plusieurs critères, avec les pièges courants.
Apprenez à grouper et partitionner des données avec Collectors.groupingBy, partitioningBy et les collectors en aval comme counting, mapping, filtering en Java 21.
Écrivez des chaînes multi-lignes plus concisément avec les blocs de texte, maîtrisez les règles d'indentation et d'échappement, ainsi que les nouvelles méthodes String comme formatted, stripIndent, translateEscapes.
Comprendre pourquoi List<Integer> n'est pas List<Number>, quand utiliser ? extends, quand utiliser ? super, et le principe PECS via des exemples concrets.
Comment utiliser try-with-resources pour fermer automatiquement les ressources, écrire sa propre classe AutoCloseable, comprendre les suppressed exception et les erreurs courantes.
Compare HashMap, Collections.synchronizedMap et ConcurrentHashMap : sécurité multithread, verrouillage, iterator, null et performance, avec exemples et tests.
Comprendre le contrat entre equals() et hashCode() en Java, bien les implémenter et connaître les erreurs courantes qui rendent HashSet et HashMap défaillants.
Utilisez CompletableFuture en Java 21 pour appeler plusieurs services en parallèle, chaîner et combiner les résultats, gérer les erreurs, les timeouts et tester le code asynchrone.
Utilisez sealed classes, pattern matching pour switch et record patterns en Java 21 pour remplacer une série de if-instanceof par du code plus court, avec vérification du compilateur de tous les cas.
Guide d'utilisation correcte d'Optional en Java, avec les anti-patterns courants et comment les éviter pour du code plus clair et plus sûr.
Découvrez les quatre « piliers » de l'API Stream de Java à travers des exemples concrets avec Order, Customer – du filtrage des données à l'agrégation des résultats.
Découvrez ce que résolvent les records Java, comment les utiliser correctement pour les DTOs et value objects, et les cas à éviter.
Découvrez les virtual threads en Java 21 à travers des exemples concrets, comparez-les aux platform threads et apprenez à les utiliser dans Spring Boot.