JEP proposed to target JDK 11: 318: Epsilon: An Arbitrarily Low-Overhead Garbage Collector

Erik Österlund erik.osterlund at
Thu Jan 18 10:10:04 UTC 2018

Hi Aleksey,

I do not feel too comfortable with this being a product flag regardless 
of the name. There is existing code that assumes that for example 
System.gc() will actually do something. Similar for assumptions that 
language features like finalizers and reference objects and queues will 
do anything at all. That makes me feel uncomfortable. Do you feel 
comfortable with exposing a product flag that breaks code relying on 
those features?


On 2018-01-18 10:39, Aleksey Shipilev wrote:
> On 01/18/2018 10:26 AM, Erik Österlund wrote:
>> This is not a garbage collector, because it does not collect garbage. It is an allocator.
> Well, it also does the memory reclamation "ultimate garbage collection"-style [1] ;)
>> Therefore, I also think the -XX:+UseNoGC name is more descriptive.
> Noted. Would you then agree that -XX:+UseNoGC is descriptive enough that users know they risk sudden
> OOMEs? The option name itself obviously comes with that caveat that user has to accept, and so we
> don't need to protect it with experimental/diagnostic flag?
> Thanks,
> -Aleksey
> [1]

More information about the jdk-dev mailing list