?????? Java SE 27 ? OpenJDK 27

??? ??? ??? ??? ??? Oracle??? ??? Java SE 27 (Java Platform, Standard Edition 27), ? ??? ??? ??? ??? ??? ??? ??? OpenJDK. ? ??? ??? ??? ??? ??? ? Java SE 27??? ??? ??? ? ??? ??? ??? Java — ??? ??? ??? Java-??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ???. ??? ??? ??? ??? Java SE 27 (JDK, JRE? Server JRE) ??? ??? Linux (x86_64, AArch64), Windows (x86_64) ? macOS (x86_64, AArch64). ??? ? ??? ??? OpenJDK??? ??? Java SE 27??? ??? ??? ??? GPLv2? ??? GNU ClassPath, ??? ??? ??? ? ??? ???.

Java SE 27??? ? ??? ??? ? ??? ??? ???, ??? ??? ??? ??? ??? ? ??? ???. ? ??? ??? ? ??? ??? ??? (LTS) ??? ??? Java SE 25, Java SE 21??? Java SE 17, ??? ??? ??? ??? ??? ? 2033, 2031? 2029??? ??? (??? — ? ??? 2030, 2028? 2026???). ??? ??? LTS-??? Java SE 8??? ? 2030???, ? Java SE 11 — ? 2032???.

??? ??? ? Java SE 27 (1, 2, 3, 4):

  • ? ??? ??? ??? ??? ??? ??? ??? G1 (Garbage-First), ??? ??? ??? ??? ??? ???. G1??? ??? ??? ? ??? ??? ? ??? ??? ??? ? ??? ??? ??? ??? ??? ? ??? ??? ???. ? ??? ??? G1??? ??? ? ??? ??? ??? ? ? ??? ??? ??? ? ???, ??? ??? ??? ??? ? ??? ??? ??? ???.

  • ? HotSpot JVM? ??? ??? ??? ??? ???. ??? ??? ? 64-??? ??? ??? ? 96? 64???, ??? ??? ??? ??? ? ??? ??? ??? ??? ? ??? ???. ? ??? SPECjbb2015??? ??? ??? ? 22%, ??? ? CPU??? ? 8%, ? ??? ??? ??? ??? ??? ? 15%. ??? ??? ??? JSON??? ??? ??? ??? ? 10%.

  • ? ??? TLS 1.3??? ??? ??? ??? ??? ???, ??? ???, ??? ??? ??? ? ??? ???. ? API javax.net.ssl??? ??? ??? ? ??? ? ??? ??? ? ??? ??? ???.

  • ? ??? JDK Flight Recorder (JFR), ??? ??? ???, ??? ? ??? ???, ??? ??? ??? ??? ??? ???, ??? ??? ??? ??? ? ??? ??? ? ??? ??? ???. ??? ??? ??? ??? ??? ???, ??? ??? ??? ???, ??? ??? ??? ??? ??? ??? ??? ??? ? ??? ??? ? API.

  • ??? ??? ??? ??? API Lazy Constants??? ??? ? ???, ??? ??? ??? ? ??? ? JVM??? ???. ? ??? ??? ??? ??? ???, ??? ??? ? ??? ??? «final». ? ??? ? «final» ??? API??? ??? ??? ??? ? ? ???, ???, ??? ??? ??? ??? ??? ??? ??? ???, ??? ??? ??? ??? ? ??? ??? ? ??? ??? ??? ??? ??? (constant-folding), ??? ??? ??? ? ??? ??? JDK.

       class Application {
           // ????:
           // static final UserService USERS = new UserService();
           // ?????? ?????:
           static final StableValue‹UserService› USERS = StableValue.of();
    
           public static UserService users() {
              return USERS.orElseSet(UserService::new);
           }
        }
    
    
  • ? ??? ??? ? ??? ??? ??? ??? ??? ??? ??? ??? ??? (int, byte, char? ??? ??? ???, ? ??? ???) ? ??? ??? ???, ? ??? «instanceof» ? ? ??? «switch».

       switch (x.getStatus()) {
           case 0 -› "okay";
           case 1 -› "warning";
           case 2 -› "error";
           case int i -› "unknown status: " + i;
       }
       if (i instanceof byte b) {
        ... b ...
       }
    
  • ??? ??? ??? ??? ??? ??? API??? c??? ??? (Structured Concurrency), ??? ??? ??? ??? ? ??? ??? ??? ???, ??? ? ??? ???, ??? ??? ???.

  • ??? ??? ??? ??? API Vector, ??? ??? ??? ??? ???, ??? ??? ? ??? ??? ??? ??? x86_64? AArch64? ??? ??? ??? ??? ??? ? ??? ??? (SIMD). ? ??? ? ??? ? JIT-??? HotSpot??? ? ??? ??? ???, ??? API??? ??? ??? ??? ??? ??? ??? ??? ???.

  • ??? ??? ??? ??? API??? ??? ? ??? ??? ? ??? ???, ??? ? ??? ??? ???, ??? ??? PEM (Pivacy-Enhanced Mail).

??? ??? ??? ??? ??? ??? ??? ??? ??? ? ??? ??? JavaFX 27. ? ??? ??? ??? ??? ??? ??? ??? ??? GraalVM 27, ??? ??? ??? ? JavaScript (Node.js), Python, Ruby, R, ??? ??? ??? JVM (Java, Scala, Clojure, Kotlin) ? ???, ??? ??? ??? ??? ??? LLVM (C, C++, Rust).



???: http://www.opennet.ru/opennews/art.shtml? num=66293

© OpenNet