此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对象才会被释放?
答案 0 :(得分:-2)
不。内存泄漏是程序释放释放的内存失败,导致性能下降或失败。
正如Anis R.所说,您的代码确实独立执行任何操作。但是,如果要创建大量Employee
类型的变量,那将导致内存泄漏。如果我错了请纠正我。