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

Hendrik Schreiber hs at
Thu Jan 18 10:21:43 UTC 2018

> On Jan 18, 2018, at 11:15, Andrew Dinn <adinn at> wrote:
> On 18/01/18 10:10, Erik Österlund wrote:
>> 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?
> Honestly, if we are at the point where we need to cater for those who
> pass in -XX:+UseNoGC and still expect "System.gc() will actually do
> something" the I believe all hope for civilization is a faint and
> distant pipe dream.


Also: “UseNoGC" is by far the better flag name than anything epsilon. If you’re absolutely in love with “epsilon”, make it an alias, but not the main name. Usability and accessibility beat fancy origin stories hands down, IMO.


More information about the jdk-dev mailing list