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
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Rate Limiting et Throttling en C++ : Comment protéger une API contre les surcharges
Swift dans le monde du matériel : écrire du code pour les microcontrôleurs
Swift et l'IA : comment utiliser ChatGPT dans le développement d'applications iOS