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.5 or higher, as of Spring 3.0.

Author:
  Rod Johnson, Juergen Hoeller, Rick Evans

### Field Summary

Fields
`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).

### Constructor Summary

Constructors
Constructor and Description
`JdkVersion()`

### Method Summary

Methods
`static String` `getJavaVersion()` Return the full Java version string, as returned by `System.getProperty("java.version")`.
`static int` `getMajorJavaVersion()` Get the major version code.
`static boolean` `isAtLeastJava14()` Deprecated. as of Spring 3.0 which requires Java 1.5+
`static boolean` `isAtLeastJava15()` Deprecated. as of Spring 3.0 which requires Java 1.5+
`static boolean` `isAtLeastJava16()` Deprecated. as of Spring 3.0, in favor of reflective checks for the specific Java 1.6 classes of interest

### 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

### 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_14)`.

Returns:
  a code comparable to the JAVA_XX codes in this class
See Also:
  `JAVA_13`, `JAVA_14`, `JAVA_15`, `JAVA_16`, `JAVA_17`

#### isAtLeastJava14

    @Deprecated
    public static boolean isAtLeastJava14()

Deprecated. as of Spring 3.0 which requires Java 1.5+
Convenience method to determine if the current JVM is at least Java 1.4.

Returns:
  `true` if the current JVM is at least Java 1.4
See Also:
  `getMajorJavaVersion()`, `JAVA_14`, `JAVA_15`, `JAVA_16`, `JAVA_17`

#### isAtLeastJava15

    @Deprecated
    public static boolean isAtLeastJava15()

Deprecated. as of Spring 3.0 which requires Java 1.5+
Convenience method to determine if the current JVM is at least Java 1.5 (Java 5).

Returns:
  `true` if the current JVM is at least Java 1.5
See Also:
  `getMajorJavaVersion()`, `JAVA_15`, `JAVA_16`, `JAVA_17`

#### isAtLeastJava16

    @Deprecated
    public static boolean isAtLeastJava16()

Deprecated. as of Spring 3.0, in favor of reflective checks for the specific Java 1.6 classes of interest
Convenience method to determine if the current JVM is at least Java 1.6 (Java 6).

Returns:
  `true` if the current JVM is at least Java 1.6
See Also:
  `getMajorJavaVersion()`, `JAVA_16`, `JAVA_17`