Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8073273

JEP 248: Make G1 the Default Garbage Collector

    Details

    • JEP Type:
      Feature
    • Exposure:
      Open
    • Subcomponent:
      gc
    • Scope:
      JDK
    • Discussion:
      hotspot dash dev at openjdk dot java dot net
    • Effort:
      M
    • Duration:
      M
    • Alert Status:
       Green
    • JEP Number:
      248

      Description

      Summary

      Make G1 the default garbage collector on 32- and 64-bit server configurations.

      Motivation

      Limiting GC pause times is, in general, more important than maximizing throughput. Switching to a low-pause collector such as G1 should provide a better overall experience, for most users, than a throughput-oriented collector such as the Parallel GC, which is currently the default.

      Many performance improvements were made to G1 in JDK 8 and its update releases, and further improvements are planned for JDK 9. The introduction of concurrent class unloading (JEP 156) in JDK 8u40 made G1 a fully-featured garbage collector, ready to be the default.

      Description

      Changing the default collector is straightforward.

      Risks and Assumptions

      • The change is based on the assumption that limiting latency is often more important than maximizing throughput. If this assumption is incorrect then this change might need to be reconsidered.

      • G1 is seen as a robust and well-tested collector. It is not expected to have stability problems, but becoming the default collector will increase its visibility and may reveal previously-unknown issues. If a critical issue is found that can't be addressed in the JDK 9 time frame, we will revert back to use Parallel GC as the default for the JDK 9 GA.

      • The resource usage of G1 is different from Parallel. When resource usage overhead needs to be minimized a collector other than G1 should be used, and after this change the alternate collector will have to be specified explicitly.

        Issue Links

          Activity

          Hide
          mcastegr Mattis Castegren (Inactive) added a comment -
          I marked this as not needing a TOI. If you disagree, please change the label to toi=yes
          Show
          mcastegr Mattis Castegren (Inactive) added a comment - I marked this as not needing a TOI. If you disagree, please change the label to toi=yes

            People

            • Assignee:
              sjohanss Stefan Johansson
              Reporter:
              pssu Paul Su
              Owner:
              Stefan Johansson
              Reviewed By:
              Mikael Vidstedt
              Endorsed By:
              Mikael Vidstedt
            • Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

              • Due:
                Created:
                Updated:
                Resolved:
                Integration Due: