• Home
    • View
    • Login
    This page
    • Normal
    • Export PDF
    • Export Word
    • Attachments
    • Page Information

    Loading...
  1. Dashboard
  2. HotSpot
  3. Main
  4. Runtime
  5. Hotspot Command-line Flags: Kinds, Lifecycle and the CSR Process

Page History

Versions Compared

Old Version 3

changes.mady.by.user Jesper Wilhelmsson

Saved on Dec 01, 2018

compared with

New Version Current

changes.mady.by.user Jesper Wilhelmsson

Saved on Dec 03, 2018

  • Previous Change: Difference between versions 2 and 3
  • View Page History

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Kinds

Hotspot defines 6 kinds of command-line flags (all starting with -XX):

...

  • product
    These are the primary flags we intend end-users to apply for tuning, feature selection etc. These are settable via the command-line in product builds.

...

  • manageable
    These are a special kind of product flag that can be dynamically set via the JDK management interface.

...

  • develop
    These are flags intended for use by Hotspot developers for debugging and testing purposes. These are settable only in non-product builds, and have a constant value in product builds.

...

  • not_product
    A more constrained development flag that has no presence at all in a product build.

...

  • experimental
    These flags are in support of features that are not part of the officially supported product, but are available in the product for experimenting with. They must be explicitly unlocked to be used. They are expected to be temporary in nature, and potentially replaced by a product flag in a later release if the feature remains. Experimental features can be dropped with no notice.

...

  • diagnostic
    Diagnostic flags are not meant for VM tuning or for product modes. They are to be used for VM quality assurance or field diagnosis of VM bugs. They are hidden so that users will not be encouraged to try them as if they were product flags. However, they are available in the product version of the VM so they can be enabled under instruction to collect diagnostic information about VM problems.

Lifecycle

The Hotspot team have a defined (up to) three step deprecation process for removing flags:

...

The full three step process is used for "product" and "manageable" flags. For the other flags we can start at step 2 and "obsolete" the flag in the current release.

The CSR Process

The Compatibility, Specification and Review (CSR) process ensures that all changes to exported interfaces are reviewed in depth to ensure they are well designed, and that compatibility concerns have been considered. These exported interfaces include the various flags and options that can be passed to the different command-line tools in the OpenJDK (java, javac, jlink, etc.)

...

Overview
Content Tools
ThemeBuilder

Terms of Use
• License: GPLv2
• Privacy • Trademarks • Contact Us

Powered by a free Atlassian Confluence Open Source Project License granted to https://www.atlassian.com/software/views/opensource-community-additional-license-offer. Evaluate Confluence today.

  • Kolekti ThemeBuilder Powered by Atlassian Confluence 8.5.23
  • Kolekti ThemeBuilder printed.by.atlassian.confluence
  • Report a bug
  • Atlassian News
Atlassian
Kolekti ThemeBuilder EngineAtlassian Confluence
{"serverDuration": 246, "requestCorrelationId": "3bcbefee67ec15d1"}