重复创建对象会导致Java内存泄漏

时间:2019-05-07 00:57:01

标签: java garbage-collection

此Java代码是否会导致内存泄漏

class Employee {
    Person person;

    Employee() {}

    String getPersonGender(String name) {
        this.person = new Person(name);
        return person.getGender().toString();
    }
}

public static void main(String... args) {
    Employee e;

    String gender = e.getPersonGender("James"); // First Time
    String gender = e.getPersonGender("Merry"); // Second Time 
}

从主体上来说,我们第二次调用getPersonGender,那么第一次创建的Person对象是否可用于收集的垃圾以释放出来?

还是只有当我们退出main函数时,两个Person对象才会被释放?

1 个答案:

答案 0 :(得分:-2)

不。内存泄漏是程序释放释放的内存失败,导致性能下降或失败。

正如Anis R.所说,您的代码确实独立执行任何操作。但是,如果要创建大量Employee类型的变量,那将导致内存泄漏。如果我错了请纠正我。