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