Jvm

Dev back

How Backend Development Teams Use Kotlin in 2025: Insights from a Certified Trainer

Cet article explore comment les équipes de développement backend peuvent utiliser Kotlin de manière efficace en 2025. L'auteur, un formateur certifié Kotlin, discute des antipatters courants rencontrés par les équipes autodidactes, comme l'utilisation excessive d'héritage et de singletons ambiants, ainsi que des solutions modernes pour le test du code asynchrone en Kotlin. En abordant les problèmes de mémoire rencontrés par les microservices Kotlin, il propose des stratégies de diagnostic et d'optimisation. Les points clés incluent l'importance d'une conception orientée données et l'utilisation appropriée des coroutines pour améliorer l'efficacité mémoire et la gestion des dépendances.

"
Dev back

A Beginner-Friendly Practical Cheat Sheet for Debugging Slow Java and Spring Boot Apps

Cet article propose une feuille de triche pratique pour aider les développeurs à déboguer des applications Java et Spring Boot lentes. Il présente des commandes utiles pour le débogage avec des exemples de sortie, évitant ainsi la conjecture et permettant aux développeurs, qu'ils soient juniors ou seniors, de résoudre efficacement les problèmes de performance. Une ressource précieuse pour se préparer à des entretiens Java/Spring.

Dev back

How Garbage Collection Handles 1M Requests/Second

Cet article explique comment la stratégie de gestion de la mémoire par le garbage collector (GC) dans la JVM peut affecter la performance des systèmes à fort débit, en particulier lorsque le trafic augmente subitement. L'auteur partage une expérience où le système a défailli sous une charge importante et souligne que ce n'est pas toujours la base de données ou l'équilibreur de charge qui lâche en premier, mais souvent le GC, qui ne respecte pas les accords de niveau de service (SLA) des utilisateurs.

Dev back

Spring Boot Performance Optimization Techniques

Cet article propose des techniques pour optimiser la performance des applications Spring Boot. Il aborde des aspects tels que la configuration des profils, l'optimisation de la base de données, la mise en cache, le traitement asynchrone, et le suivi de performance pour améliorer la réactivité et la gestion du trafic élevé.

Dev back

🧠 Smart Memory Management in Java (Java 21+ and Legacy JVM)

Cet article explore des méthodes avancées de gestion de la mémoire en Java, notamment la taille et le réglage du tas, l'analyse des échappements, et la gestion de la mémoire hors tas. Il aborde également les pièges liés aux fuites de mémoire et propose des outils de surveillance et de profilage. Les conseils incluent des astuces pour les versions modernes de Java (21+) et des recommandations pour l'optimisation des applications plus anciennes.

Dev back

Java Performance Tuning: JVM Secrets You’re Probably Missing

L'article traite des techniques d'optimisation de la performance de Java grâce à un réglage approprié de la JVM, en mettant l'accent sur les différentes formes de collecteurs de déchets (GC) disponibles dans Java 21+, tels que G1, Serial, Parallel, Shenandoah et ZGC. Il explique comment choisir le collecteur de déchets le plus approprié selon les besoins spécifiques des applications, qu'il s'agisse de faibles frais généraux ou de maximisation du débit.

Dev back

🧩 Demystifying Virtual Threads: Java’s Concurrency Revolution

L'introduction des fils virtuels avec le projet Loom transforme la gestion de la concurrence en Java, permettant de créer des millions de fils légers gérés par la JVM, améliorant ainsi les performances tout en réduisant la complexité et l'utilisation des ressources. Ce changement majeur va réformer la manière dont les développeurs abordent la programmation concurrente.

Sécurité

We Thought Actuator Was Safe in Production — Until Google Indexed It

Un article qui raconte comment des données internes de métriques mémoire ont été accidentellement indexées par Google en raison d'un endpoint exposé d'une application Spring Boot. Cela a mis en lumière des risques de sécurité liés à des configurations internes sensibles qui ne devraient pas être accessibles publiquement. L'incident souligne l'importance d'une bonne gestion des secrets et des contrôles d'accès dans les applications en production.