maxxedev commented on PR #866:
URL: https://github.com/apache/commons-io/pull/866#issuecomment-5270453452

   > I don't think this is acceptable as-is because it now violates the write 
once, run anywhere Java principle: the behavior changes depending on which Java 
version the application is running on [...]. I think that is particularly 
problematic for a deprecated API; the fact that an API is deprecated should not 
mean its behavior changes depending on the runtime version.
   
   
   Right now on JDK23+, this warning is shown:
   ```
   WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
   WARNING: sun.misc.Unsafe::invokeCleaner has been called by 
org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner
   WARNING: Please consider reporting this to the maintainers of class 
org.apache.commons.io.input.ByteBufferCleaner$Java9Cleaner
   WARNING: sun.misc.Unsafe::invokeCleaner will be removed in a future release
   ```
   
   That's JDK telling the library to change the behavior by not using Unsafe on 
JDK23+. commons-io library should be a good citizen and automatically follow 
the suggestion set by JDK.
   
    
   In any case, I added an `clean(boolean)` flag for users to opt-in or control 
this behavior.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to