test/java/lang/ref/FinalizeOverride.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8148940 Cdiff test/java/lang/ref/FinalizeOverride.java

test/java/lang/ref/FinalizeOverride.java

Print this page

        

*** 111,162 **** 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"); 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 { --- 111,158 ---- int called() { finalizedSum.addAndGet(value); return value; } protected void finalize() { ! called(); finalizedCount.incrementAndGet(); } } static class PublicFinalize extends Base { PublicFinalize(int v) { super(v); } public void finalize() { finalizedSum.addAndGet(value * 100); ! called(); finalizedCount.incrementAndGet(); } } static class Subclass extends Base { Subclass(int v) { super(v); } protected void finalize() { // no value added to sum finalizedCount.incrementAndGet(); } } static class SubSubclass extends Subclass { SubSubclass(int v) { super(v); } protected final void finalize() { finalizedSum.addAndGet(value); finalizedCount.incrementAndGet(); } } static class PrivateFinalize extends Base { PrivateFinalize(int v) { super(v); } private void f_nal_ze() { // finalization catches any exception 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