Avatar ·

Comment créer une fuite de mémoire en Java ? Exemples et causes

Bonjour à tous. Je suis un développeur Java débutant, et j'entends constamment dire que Java a un garbage collector qui nettoie automatiquement la mémoire. Mais on m'a dit que même avec le GC, on peut obtenir une fuite de mémoire (memory leak). J'ai essayé de comprendre comment c'est possible, mais tous les exemples que j'ai trouvés sont trop complexes ou utilisent d'anciennes versions de Java. J'ai besoin d'écrire un petit projet pédagogique qui démontre une fuite de mémoire, pour mieux comprendre comment fonctionne le garbage collector et comment éviter ces problèmes dans le travail réel. J'ai essayé de créer simplement beaucoup d'objets dans une boucle sans conserver de références — mais le GC les nettoie. Comment faire pour que les objets restent en mémoire et ne soient pas supprimés ? Voici un exemple que j'ai essayé, mais il ne provoque pas de fuite : ```java public class MemoryLeakTest { public static void main(String[] args) throws InterruptedException { for (int i = 0; i < 1000000; i++) { String s = new String("test" + i); } System.gc(); Thread.sleep(100