<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Blog – Aymen Jamaaoui</title><link>https://aymenjamaaoui.dev/blog/</link><description>Des articles sur le développement et l'informatique : tutos, astuces, actualité, quiz et un peu de rétro.</description><image><title>Aymen Jamaaoui</title><url>https://aymenjamaaoui.dev/images/og-fr.png</url><link>https://aymenjamaaoui.dev/images/og-fr.png</link></image><generator>Hugo</generator><language>fr-FR</language><lastBuildDate>Sat, 24 Oct 2026 20:45:00 +0200</lastBuildDate><atom:link href="https://aymenjamaaoui.dev/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>Architecture hexagonale avec Spring Boot : un exemple simple</title><link>https://aymenjamaaoui.dev/blog/architecture-hexagonale-spring-boot/</link><pubDate>Sat, 24 Oct 2026 20:45:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/architecture-hexagonale-spring-boot/</guid><description>Domaine, ports et adaptateurs sur un petit service Spring Boot qui lit Kafka : le code, des tests sans Spring, et ArchUnit pour garder la règle.</description></item><item><title>Kafka et Spring Boot : un projet complet en local</title><link>https://aymenjamaaoui.dev/blog/kafka-spring-boot-local/</link><pubDate>Sat, 24 Oct 2026 19:00:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/kafka-spring-boot-local/</guid><description>Kafka en mode KRaft dans Docker, un service Spring Boot qui publie, un autre qui lit : un projet complet à lancer en local, avec offsets et partitions.</description></item><item><title>AWS en local avec Floci : un émulateur, pas un mock</title><link>https://aymenjamaaoui.dev/blog/aws-local-floci/</link><pubDate>Sat, 24 Oct 2026 05:30:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/aws-local-floci/</guid><description>Floci émule AWS sur votre machine : ce qui le distingue d&amp;#39;un mock, puis un exemple avec l&amp;#39;AWS CLI, le SDK Java (S3, DynamoDB) et la console web.</description></item><item><title>Poste de dev Java : 8, 17 et 25 côte à côte avec mise</title><link>https://aymenjamaaoui.dev/blog/poste-dev-java-mise/</link><pubDate>Sat, 24 Oct 2026 03:30:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/poste-dev-java-mise/</guid><description>Java 8, 17 et 25, Maven, Node, Python et les outils en ligne de commande : une version par projet avec mise, rien en root, un terminal rapide.</description></item><item><title>Java dans Docker et Kubernetes : éviter OOMKilled</title><link>https://aymenjamaaoui.dev/blog/java-docker-kubernetes-oomkilled/</link><pubDate>Fri, 23 Oct 2026 21:30:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/java-docker-kubernetes-oomkilled/</guid><description>Pod tué en OOMKilled (code 137) avec un heap qui va bien : ce que la JVM voit dans un conteneur, ce qui s&amp;#39;ajoute au heap, et comment régler la mémoire.</description></item><item><title>JFR, jcmd, VisualVM : quel outil pour la mémoire Java</title><link>https://aymenjamaaoui.dev/blog/outils-jfr-jcmd-visualvm/</link><pubDate>Fri, 23 Oct 2026 09:00:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/outils-jfr-jcmd-visualvm/</guid><description>Logs du GC, jstat, jcmd, JFR, Eclipse MAT, VisualVM : quel outil pour quelle question, ce qu&amp;#39;il coûte en production, et un exemple JFR.</description></item><item><title>Heap dump Java : trouver une fuite mémoire avec Eclipse MAT</title><link>https://aymenjamaaoui.dev/blog/heap-dump-java-eclipse-mat/</link><pubDate>Fri, 23 Oct 2026 02:00:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/heap-dump-java-eclipse-mat/</guid><description>Prendre un heap dump avec jcmd, puis trouver la fuite avec Eclipse MAT : Leak Suspects, retained heap, dominator tree et chemin vers les racines GC.</description></item><item><title>Fuites mémoire en Java : 6 cas classiques, reproduits</title><link>https://aymenjamaaoui.dev/blog/fuites-memoire-java/</link><pubDate>Fri, 23 Oct 2026 01:05:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/fuites-memoire-java/</guid><description>Collection statique, cache, listeners, ThreadLocal, class loaders, fichiers : six fuites mémoire Java reproduites, comment les voir et les corriger.</description></item><item><title>Lire un log GC en Java : chaque chiffre expliqué</title><link>https://aymenjamaaoui.dev/blog/lire-log-gc-java/</link><pubDate>Thu, 22 Oct 2026 23:40:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/lire-log-gc-java/</guid><description>Activer le log GC, lire une ligne G1 mot par mot, suivre 4 chiffres et repérer ce qui doit alerter : Pause Full, humongous, échec d&amp;#39;évacuation.</description></item><item><title>OutOfMemoryError en Java : chaque message, reproduit</title><link>https://aymenjamaaoui.dev/blog/outofmemoryerror-java-messages/</link><pubDate>Thu, 22 Oct 2026 22:40:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/outofmemoryerror-java-messages/</guid><description>Java heap space, GC overhead, Metaspace, direct buffer, native thread : chaque OutOfMemoryError reproduite, ce qu&amp;#39;elle veut dire et quoi vérifier.</description></item><item><title>Garbage collector Java : le guide à jour (Java 25)</title><link>https://aymenjamaaoui.dev/blog/garbage-collector-java-guide/</link><pubDate>Thu, 22 Oct 2026 16:40:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/garbage-collector-java-guide/</guid><description>Mémoire de la JVM, générations, garbage collectors, options et idées reçues : l&amp;#39;essentiel du GC Java en un seul guide, à jour pour Java 25.</description></item><item><title>Idées reçues sur le garbage collector Java</title><link>https://aymenjamaaoui.dev/blog/idees-recues-garbage-collector-java/</link><pubDate>Thu, 22 Oct 2026 16:20:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/idees-recues-garbage-collector-java/</guid><description>System.gc(), finalize(), la taille du heap, le réglage du GC, les fuites mémoire : cinq idées reçues sur le garbage collector, et ce qui est vrai en Java 25.</description></item><item><title>Les options JVM qui comptent, et celles qui ne marchent plus</title><link>https://aymenjamaaoui.dev/blog/options-jvm-qui-comptent/</link><pubDate>Thu, 22 Oct 2026 15:45:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/options-jvm-qui-comptent/</guid><description>-Xms, -Xmx, MaxGCPauseMillis, -Xlog, heap dump, MaxRAMPercentage : les options JVM utiles en Java 25, et les anciennes qui ne marchent plus.</description></item><item><title>Les garbage collectors Java en 2026 : lequel tourne chez vous ?</title><link>https://aymenjamaaoui.dev/blog/garbage-collectors-java-2026/</link><pubDate>Thu, 22 Oct 2026 13:30:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/garbage-collectors-java-2026/</guid><description>Serial, Parallel, G1, ZGC, Shenandoah, Epsilon : à quoi sert chaque GC, lequel la JVM choisit par défaut et comment le vérifier. À jour pour Java 25.</description></item><item><title>Générations et cycles de GC : Young, Old, Minor, Major, Full</title><link>https://aymenjamaaoui.dev/blog/generations-cycles-gc-young-old-minor-major-full/</link><pubDate>Thu, 22 Oct 2026 04:10:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/generations-cycles-gc-young-old-minor-major-full/</guid><description>Pourquoi la JVM sépare les objets jeunes et vieux, le trajet d&amp;#39;un objet jusqu&amp;#39;à la Old, et le vrai sens de Minor, Major et Full GC. À jour pour Java 25.</description></item><item><title>La mémoire de la JVM : Heap, Stack, Metaspace</title><link>https://aymenjamaaoui.dev/blog/memoire-jvm-heap-stack-metaspace/</link><pubDate>Thu, 22 Oct 2026 03:40:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/memoire-jvm-heap-stack-metaspace/</guid><description>Où la JVM range les variables, les objets et les classes, ce qui vit hors du heap, et ce qui a changé depuis PermGen. À jour pour Java 25.</description></item><item><title>Un Chrome par compte Google sur macOS</title><link>https://aymenjamaaoui.dev/blog/un-chrome-par-compte-google-macos/</link><pubDate>Thu, 22 Oct 2026 00:00:00 +0200</pubDate><guid>https://aymenjamaaoui.dev/blog/un-chrome-par-compte-google-macos/</guid><description>Sur macOS, tous les profils Chrome partagent une icône dans le Dock et Cmd+Tab. Comment j&amp;#39;ai fait une copie de Chrome par compte, et ce que ça coûte.</description></item></channel></rss>