compact3
com.sun.management

## Class VMOption

- java.lang.Object
- - com.sun.management.VMOption

-     @Exported
      public class VMOption
      extends Object

  Information about a VM option including its value and where the value came from which is referred as its `origin`.

  Each VM option has a default value. A VM option can be set at VM creation time typically as a command line argument to the launcher or an argument passed to the VM created using the JNI invocation interface. In addition, a VM option may be set via an environment variable or a configuration file. A VM option can also be set dynamically via a management interface after the VM was started. A `VMOption` contains the value of a VM option and the origin of that value at the time this `VMOption` object was constructed. The value of the VM option may be changed after the `VMOption` object was constructed,

  Since:
    1.6
  See Also:
    Java Virtual Machine

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `VMOption.Origin` | Origin of the value of a VM option.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `VMOption(String name, String value, boolean writeable, VMOption.Origin origin)` | Constructs a `VMOption`.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static VMOption` | `from(CompositeData cd)` | Returns a `VMOption` object represented by the given `CompositeData`.
    `String` | `getName()` | Returns the name of this VM option.
    `VMOption.Origin` | `getOrigin()` | Returns the origin of the value of this VM option.
    `String` | `getValue()` | Returns the value of this VM option at the time when this `VMOption` was created.
    `boolean` | `isWriteable()` | Tests if this VM option is writeable.
    `String` | `toString()` | Returns a string representation of the object.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### VMOption

          public VMOption(String name,
                          String value,
                          boolean writeable,
                          VMOption.Origin origin)

      Constructs a `VMOption`.
      Parameters:
        `name` - Name of a VM option.
        `value` - Value of a VM option.
        `writeable` - `true` if a VM option can be set dynamically, or `false` otherwise.
        `origin` - where the value of a VM option came from.
      Throws:
        `NullPointerException` - if the name or value is `null`

  - ### Method Detail

    - #### getName

          public String getName()

      Returns the name of this VM option.
      Returns:
        the name of this VM option.

    - #### getValue

          public String getValue()

      Returns the value of this VM option at the time when this `VMOption` was created. The value could have been changed.
      Returns:
        the value of the VM option at the time when this `VMOption` was created.

    - #### getOrigin

          public VMOption.Origin getOrigin()

      Returns the origin of the value of this VM option. That is, where the value of this VM option came from.
      Returns:
        where the value of this VM option came from.

    - #### isWriteable

          public boolean isWriteable()

      Tests if this VM option is writeable. If this VM option is writeable, it can be set by the `HotSpotDiagnosticMXBean.setVMOption` method.
      Returns:
        `true` if this VM option is writeable; `false` otherwise.

    - #### toString

          public String toString()

      Description copied from class: `java.lang.Object`
      Returns a string representation of the object. In general, the `toString` method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

      The `toString` method for class `Object` returns a string consisting of the name of the class of which the object is an instance, the at-sign character ``@`', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

      >      getClass().getName() + '@' + Integer.toHexString(hashCode())

      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of the object.

    - #### from

          public static VMOption from(CompositeData cd)

      Returns a `VMOption` object represented by the given `CompositeData`. The given `CompositeData` must contain the following attributes:

      > Attribute Name | Type
      > --- | ---
      > name | `java.lang.String`
      > value | `java.lang.String`
      > origin | `java.lang.String`
      > writeable | `java.lang.Boolean`

      Parameters:
        `cd` - `CompositeData` representing a `VMOption`
      Returns:
        a `VMOption` object represented by `cd` if `cd` is not `null`; `null` otherwise.
      Throws:
        `IllegalArgumentException` - if `cd` does not represent a `VMOption` with the attributes described above.

Copyright © 2003, 2026, Oracle and/or its affiliates. All rights reserved.