Java垃圾回收机制与内存泄露预防实例
在Java中,垃圾回收(Garbage Collection, GC)机制是自动的,它负责管理程序运行过程中产生的不再使用的对象。
以下是一个简单的例子来理解GC:
public class TestGC {
public static void main(String[] args) {
// 创建一个引用
String str = "Hello, Java GC!";
// 确保str在栈中,这是垃圾
System.out.println(str.length()); // 输出:10
// GC清理这个不再使用的对象(字符串)
System.gc(); // 唤醒GC,可能立即执行也可能延后
// 这时str已经被GC回收了,你再尝试获取长度将抛出异常
try {
str.length();
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
在上述例子中,字符串str
不再需要时(str.length()
抛出异常),垃圾回收机制会自动回收它。这样可以避免内存泄露的问题。
还没有评论,来说两句吧...