Avatar ·

¿Cómo crear una fuga de memoria en Java? Ejemplos y causas

Hola a todos. Soy un desarrollador Java principiante, y escucho constantemente que Java tiene un garbage collector que limpia automáticamente la memoria. Pero me dijeron que incluso con GC se puede obtener una fuga de memoria (memory leak). Intenté entender cómo es posible, pero todos los ejemplos que encontré son demasiado complejos o usan versiones antiguas de Java. Necesito escribir un pequeño proyecto educativo que demuestre una fuga de memoria para entender mejor cómo funciona el garbage collector y cómo evitar estos problemas en el trabajo real. Intenté simplemente crear muchos objetos en un bucle sin guardar referencias, pero GC los limpia. ¿Cómo hacer para que los objetos permanezcan en la memoria y no se eliminen? Aquí hay un ejemplo que probé, pero no causa una fuga: ```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