我写了下面的程序:
public class A {
public static void main(String[] args) {
B b = new B();
System.gc();
}
}class B {
public void finalize() {
System.out.println("你好");
}
}
结果:什么也没有输出
Finalize()方法是在Object里定义的,是不是程序运行时我们即使不显式调用finalize方法,finalize也会照样被调用吗?可是为什么没有输出”你好”呢?求大侠指教.
解决方案 »
- 学生 求解
- prepareStatement和Statement执行结果不同,想不出为什么。是JDBC的bug吗?
- 请问jdk-6u20-windows-i586.exe
- SERVLET获取值报错,大家帮看看
- 高手帮忙啊,c++通过jni调用java联数据库,找不到驱动。
- JTextArea滚动条的问题
- 为什么我的可用分停止增加了?不是每天加10分吗???
- 如何使用JAVA获取用户从建盘上输入的数据
- 郁闷ing,散分
- js正则表达式
- 为什么没有 Integer.parseInt(char arg0)
- java.io.InputStream中的int read(byte[] b, int off, int len) 方法的疑问
不要用b指向它
这时候就要回收
在B b=new B();后面加一句:b=null;
或者直接new B()
两者都会产生垃圾。