org.springframework.core

## Class JdkVersion

- java.lang.Object
- - org.springframework.core.JdkVersion

-     public abstract class JdkVersion
      extends Object

  Internal helper class used to find the Java/JVM version that Spring is operating on, to allow for automatically adapting to the present platform's capabilities.

  Note that Spring requires JVM 1.6 or higher, as of Spring 4.0.

  Author:
    Rod Johnson, Juergen Hoeller, Rick Evans, Sam Brannen

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `JAVA_13` Constant identifying the 1.3.x JVM (JDK 1.3).
    `static int` | `JAVA_14` Constant identifying the 1.4.x JVM (J2SE 1.4).
    `static int` | `JAVA_15` Constant identifying the 1.5 JVM (Java 5).
    `static int` | `JAVA_16` Constant identifying the 1.6 JVM (Java 6).
    `static int` | `JAVA_17` Constant identifying the 1.7 JVM (Java 7).
    `static int` | `JAVA_18` Constant identifying the 1.8 JVM (Java 8).
    `static int` | `JAVA_19` Constant identifying the 1.9 JVM (Java 9).

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JdkVersion()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static String` | `getJavaVersion()` Return the full Java version string, as returned by `System.getProperty("java.version")`.
    `static int` | `getMajorJavaVersion()` Get the major version code.

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

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

- - ### Field Detail

    - #### JAVA_13

          public static final int JAVA_13

      Constant identifying the 1.3.x JVM (JDK 1.3).
      See Also:
        Constant Field Values

    - #### JAVA_14

          public static final int JAVA_14

      Constant identifying the 1.4.x JVM (J2SE 1.4).
      See Also:
        Constant Field Values

    - #### JAVA_15

          public static final int JAVA_15

      Constant identifying the 1.5 JVM (Java 5).
      See Also:
        Constant Field Values

    - #### JAVA_16

          public static final int JAVA_16

      Constant identifying the 1.6 JVM (Java 6).
      See Also:
        Constant Field Values

    - #### JAVA_17

          public static final int JAVA_17

      Constant identifying the 1.7 JVM (Java 7).
      See Also:
        Constant Field Values

    - #### JAVA_18

          public static final int JAVA_18

      Constant identifying the 1.8 JVM (Java 8).
      See Also:
        Constant Field Values

    - #### JAVA_19

          public static final int JAVA_19

      Constant identifying the 1.9 JVM (Java 9).
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### JdkVersion

          public JdkVersion()

  - ### Method Detail

    - #### getJavaVersion

          public static String getJavaVersion()

      Return the full Java version string, as returned by `System.getProperty("java.version")`.
      Returns:
        the full Java version string
      See Also:
        `System.getProperty(String)`

    - #### getMajorJavaVersion

          public static int getMajorJavaVersion()

      Get the major version code. This means we can do things like `if (getMajorJavaVersion() >= JAVA_17)`.
      Returns:
        a code comparable to the `JAVA_XX` codes in this class
      See Also:
        `JAVA_16`, `JAVA_17`, `JAVA_18`, `JAVA_19`