test/java/lang/ref/FinalizeOverride.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/test/java/lang/ref/FinalizeOverride.java Thu Feb 25 16:46:44 2016
--- new/test/java/lang/ref/FinalizeOverride.java Thu Feb 25 16:46:44 2016
*** 111,162 ****
--- 111,158 ----
int called() {
finalizedSum.addAndGet(value);
return value;
}
protected void finalize() {
! System.out.println("Base.finalize() sum += " + called());
finalizedCount.incrementAndGet();
}
}
static class PublicFinalize extends Base {
PublicFinalize(int v) {
super(v);
}
public void finalize() {
finalizedSum.addAndGet(value * 100);
System.out.println("PublicFinalize.finalize() sum += " + called() +
"+"+value+"*100");
+ called();
finalizedCount.incrementAndGet();
}
}
static class Subclass extends Base {
Subclass(int v) {
super(v);
}
protected void finalize() {
// no value added to sum
System.out.println("Subclass.finalize() sum += 0");
finalizedCount.incrementAndGet();
}
}
static class SubSubclass extends Subclass {
SubSubclass(int v) {
super(v);
}
protected final void finalize() {
finalizedSum.addAndGet(value);
System.out.println("SubSubclass.finalize() sum +=" +value);
finalizedCount.incrementAndGet();
}
}
static class PrivateFinalize extends Base {
PrivateFinalize(int v) {
super(v);
}
private void f_nal_ze() {
// finalization catches any exception
System.out.println("Error: private finalize invoked!!");
privateFinalizeInvoked = true;
finalizedCount.incrementAndGet();
}
}
static class NoOverride extends PrivateFinalize {
test/java/lang/ref/FinalizeOverride.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File