RFR JDK-8185582, Update Zip implementation to use Cleaner, not finalizers

Roger Riggs Roger.Riggs at Oracle.com
Fri Sep 29 20:55:43 UTC 2017


The proposed[1]  changes to FileInputStream and FileOutputStream remove 
the finalize method
exposing Object.finalize (throws Throwable) to subclasses.  We may need 
the finalize methods (with empty bodies) to mitigate source compatibility.



On 9/29/2017 4:49 PM, Xueming Shen wrote:
> On 9/29/17, 1:18 PM, Peter Levart wrote:
>> Hi Sherman,
>> I looked into ZipFile as promised.
>> One thing I noticed is that FinalizeZipFile.java test fails compilation:
>> test/jdk/java/util/zip/ZipFile/FinalizeZipFile.java:49: error: 
>> unreported exception Throwable; must be caught or declared to be thrown
>>              super.finalize();
>>                            ^
>> (the overridden finalize() in InstrumentedZipFile should now declare 
>> throws Throwable, since it overrides Object.finalize() and not 
>> ZipFile.finalize() which is gone).
> Yes, it's the expected source incompatibility issue specified in the 
> CSR request.
> I think I had it changed somewhere but obviously it's not in the 
> webrev. Thanks
> for catching it. Yes, the test needs to update to be catch the throwable.
> Will return to the other comments later.
> Thanks!
> -sherman

More information about the core-libs-dev mailing list