JAVA 9 UP

Repository with new features of Java 9, 10, 11, 12 & 13.

Java 9

Features:

Java 10

Features:

  • Local variable type inference
    • var (compiler infers the type of message from the type of the initializer present on the right-hand side)
    • var is not a keyword
    • no runtime overhead
  • Unmodifiable collections
  • optional class improvements
    • .orElseThrow()
  • performance improvements
  • container awareness
    • -XX:-UseContainerSupport disables container awareness
    • -XX:ActiveProcessorCount=count specifies the number of CPU's the JVM will use
    • system memory control
      • -XX:InitialRAMPercentage
      • -XX:MaxRAMPercentage
      • -XX:MinRAMPercentage
  • Time-based Release Versioning
    • 1 release each 6 months
    • feature release support will only last 6 months
    • LTS release will be supported for 3 years
  • Graal
    • -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler

Java 11

Features:

Sources:

Java 12

Features:

Java 13

  • Text Block Preview
  • Switch preview