• Hawke@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    17 hours ago

    Is that why every single application will only work with some ancient version of Java?(usually 8, sometimes 1.6 or 11)

    I can’t think of many cases where Java 21 is a drop in replacement, and I don’t think anyone actually used 17.

    • pivot_root@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      18 hours ago

      That’s entirely the fault of applications (or more likely their libraries) using internal APIs or JNI. As long as it isn’t doing anything screwy with reflection and class loading or using the sun.* packages that aren’t part of the language specification, Java bytecode compiled for ancient Java versions will still work on modern versions.