On 12/7/17, 8:31 AM, mandy chung wrote:


On 12/4/17 3:14 PM, Xueming Shen wrote:

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


ZStreamRef.java

   79     static ZStreamRef get(Object owner, LongSupplier addr, LongConsumer 
end) {

It may be better to have two factory methods that take the specific type 
(Deflater&  Inflater)
instead of this single method taking Object owner.

Just feel it is not worth creating two methods, and then two subclasses for two almost identical implementations. Arguably even the ZStreamRef should have two
separate versions. So I choose to pay the price of two runtime "if".



ZipFile.java

  701         // List of cached Inflater objects for decompression
  702         Deque<Inflater>  inflaterCache;

should this be a volatile field?
I read it again, still feel the "volatile" is not necessary in this situation. Let me know
if I'm doing it wrong.



TestCleaner.java
   27  * @summary Check the resources of Inflater, Deflater and ZipFile are 
always
   28  *          cleaned/released when the instane is not unreachable

typo: s/instane/instance and s/not unreachable/unreachable
updated in webrev.

Thanks,
Sherman


Reply via email to