On 19/09/2019 12:57 pm, Mandy Chung wrote:
On 9/18/19 5:00 PM, Hohensee, Paul wrote:
They all implement com.sun.management.ThreadMXBean, so adding a getCurrentThreadAllocatedBytes broke them. Potential fix is to give it a default implementation, vis

     public default long getCurrentThreadAllocatedBytes() {
         return -1;
     }


com.sun.management.ThreadMXBean (and other platform MXBeans) is a "sealed" interface which should only be implemented by JDK.

Didn't realize that. I don't recall knowing about PlatformManagedObject. Sealed types will at least allow this to be enforced, though I have to wonder what the tests are doing here.

Unfortunately we don't have the sealed type feature yet.  Yes it needs to be a default method.  I think it should throw UOE.

      * @implSpec
     * The default implementation throws {@code UnsupportedOperationException}.

The @throw UOE can make it clear that it does not support current thread memory allocation measurement.

Yes that seems a reasonable default if we don't want this to be implemented outside the platform.

Thanks,
David

Mandy

Reply via email to