On 9/27/17 4:41 PM, Xueming Shen wrote:
Thanks Mandy!

I removed the ln#657-#663, and updated the @apiNote in deflter, inflater
and zipfile accordingly, mainly combined your comment and the approach
for the fis/fo. they are "simpler" and straightforward now, at least for me.

https://bugs.openjdk.java.net/browse/JDK-8187485
http://cr.openjdk.java.net/~sherman/8185582/webrev
||

76 * specified to call the {@code end} method to close the {@code deflater} and s/deflater/Deflater

80 * The recommended cleanup for compressor is to explicitly call {@code end} 81 * method when it is no longer in use. Existing subclasses of {@code Deflater} 82 * that override {@code end} and require {@code end} to be invoked when the 83 * instance is unreachable should explicitly override {@link Object#finalize}
84 * and call {@code end}.

I suggest not to recommend "explicitly override Object.finalize" (in fact, we should discourage it) and the overridden end method should be called explicitly.  This was what I suggested in the previous mail:||

|* It is strongly recommended to explicitly call {@code end} to ||* discard any unprocessed input promptly to free up resources |* when |||the compressor |is no longer in use.| ||Same comment applies to Inflater. 75 * specified to call the {@code end} method to close the {@code inflater} and |

s/inflater/Inflater

FinalizeZipFile.zip (I have mentioned this in the other mail):

I suggest to update InstrumentedZipFile to migrate away from the finalizer.   I can override the close method instead of the finalize method.   It can test explicitly calling close (that's what the test is currently doing) and try-with-resource.

TestCleaner.java
 130                 throw new RuntimeException("'ZipFile.Source.zfile' is not 
accesible");

s/accesible/accessible


Mandy

Reply via email to