public class A {
double wage;
A(double wage){
this.wage=wage;
}
}
//在这段代码中,我需要定义构造函数和析构函数。
- 如何定义析构函数的代码?
public class A {
double wage;
A(double wage){
this.wage=wage;
}
}
//在这段代码中,我需要定义构造函数和析构函数。
class Book {
@Override
public void finalize() {
System.out.println("Book instance is getting destroyed");
}
}
class Demo {
public static void main(String[] args) {
new Book();//note, its not referred by variable
System.gc();//gc, won't run for such tiny object so forced clean-up
}
}
输出:
Book instance is getting destroyed
运行垃圾回收器。调用gc方法建议Java虚拟机花费一些努力回收未使用的对象,以便将它们当前占用的内存空间释放出来,以供快速重用。当方法调用返回时,Java虚拟机已经尽最大努力从所有丢弃的对象中回收空间。
调用System.gc()等效于调用:
Runtime.getRuntime().gc()
当垃圾回收确定没有更多引用该对象时,由垃圾回收器在对象上调用finalize方法。子类可以覆盖finalize方法以处理系统资源或进行其他清理。
编写自己的方法并使用它。不建议覆盖finalize方法。
finalize
方法? - Justin Niessner