Finalizer & Cleaner
Finalizer
@Override
public void finalize() {
// ...
}Cleaner
public class CleaningRequiredObject implements AutoCloseable {
private static final Cleaner cleaner = Cleaner.create();
private static class CleanData implements Runnable {
@Override
public void run() {
// 클린 작업 수행 지점
}
}
private final CleanData;
private final Cleaner.Cleanable cleanable
public CleaningRequiredObject() {
this.cleanData = new CleanData();
// register
this.cleanable = cleaner.register(this, state);
}
@Override
public void close() {
cleanable.clean();
}
}결론:
Last updated