Java SE 23 ืื•ืŸ OpenJDK 23 ื‘ืืคืจื™ื™ื˜

ื ืึธืš ื–ืขืงืก ื—ื“ืฉื™ื ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, Oracle ืืจื•ื™ืก ื“ื™ Java SE 23 ืคึผืœืึทื˜ืคืึธืจืžืข (Java Platform, Standard Edition 23), ื•ื•ืึธืก ื ื™ืฆื˜ ื“ื™ ืึธืคึฟืŸ-ืžืงื•ืจ OpenJDK ืคึผืจื•ื™ืขืงื˜ ื•ื•ื™ ืึท ืจืขืคึฟืขืจืขื ืฅ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ. ืžื™ื˜ ื“ื™ ื•ื™ืกื ืขื ืคื•ืŸ ื“ื™ ื‘ืึทื–ื™ื™ึทื˜ื™ืงื•ื ื’ ืคื•ืŸ ืขื˜ืœืขื›ืข ืคืึทืจืขืœื˜ืขืจื˜ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ, Java SE 23 ืžื™ื™ื ื˜ื™ื™ื ื– ืฆื•ืจื™ืง ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืžื™ื˜ ื“ื™ ืคืจื™ืขืจื“ื™ืงืข ืจื™ืœื™ืกื™ื– ืคื•ืŸ ื“ื™ Java ืคึผืœืึทื˜ืคืึธืจืžืข - ืจื•ื‘ึฟ ืคืจื™ืขืจ ื’ืขืฉืจื™ื‘ืŸ Java ืคึผืจืึทื“ื–ืฉืขืงืก ื•ื•ืขืœืŸ ืึทืจื‘ืขื˜ืŸ ืึธืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ื•ื•ืขืŸ ื–ื™ื™ ืœื•ื™ืคืŸ ืื•ื ื˜ืขืจ ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข. ื’ืจื™ื™ื˜-ืฆื•-ื™ื ืกื˜ืึทืœื™ืจืŸ ื‘ื™ืœื“ืขืจ ืคื•ืŸ Java SE 22 (JDK, JRE ืื•ืŸ Server JRE) ื–ืขื ืขืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ ืคึฟืึทืจ ืœื™ื ื•ืงืก (x86_64, AArch64), Windows (x86_64) ืื•ืŸ macOS (x86_64, AArch64). ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื“ื•ืจืš ื“ื™ OpenJDK ืคึผืจื•ื™ืขืงื˜, ื“ื™ Java 23 ืจืขืคึฟืขืจืขื ืฅ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืื™ื– ื’ืึธืจ ืึธืคึฟืŸ ืžืงื•ืจ ืื•ื ื˜ืขืจ ื“ื™ GPLv2 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ, ืžื™ื˜ GNU ClassPath ืื•ื™ืกื ืขืžืขืŸ ืึทืœืึทื•ื™ื ื’ ื“ื™ื ืึทืžื™ืฉ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืžื™ื˜ ื’ืขืฉืขืคื˜ ืคึผืจืึธื“ื•ืงื˜ืŸ.

Java SE 23 ืื™ื– ืงืœืึทืกืึทืคื™ื™ื“ ื•ื•ื™ ืึท ืจืขื’ื•ืœืขืจ ืฉื˜ื™ืฆืŸ ืžืขืœื“ื•ื ื’ ืื•ืŸ ื•ื•ืขื˜ ืคืึธืจื–ืขืฆืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ื‘ื™ื– ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืžืขืœื“ื•ื ื’. ื“ื™ ืœืื ื’ ื˜ืขืจืžื™ืŸ ืฉื˜ื™ืฆืŸ (LTS) ืฆื•ื•ื™ื™ึทื’ ื–ืึธืœ ื–ื™ื™ืŸ Java SE 21 ืึธื“ืขืจ Java SE 17, ื•ื•ืึธืก ื•ื•ืขื˜ ื‘ืึทืงื•ืžืขืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ื‘ื™ื– 2031 ืื•ืŸ 2029 ืจื™ืกืคึผืขืงื˜ื™ื•ื•ืœื™ (ื‘ื›ืœืœ ื‘ื ื™ืžืฆื ื‘ื™ื– 2028 ืื•ืŸ 2026). ืขืงืกื˜ืขื ื“ืขื“ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ LTS ืฆื•ื•ื™ื™ึทื’ ืคื•ืŸ Java SE 8 ื•ื•ืขื˜ ื“ื•ื™ืขืจืŸ ื‘ื™ื– 2030, ืื•ืŸ Java SE 11 ื‘ื™ื– 2032.

ืฆื•ื•ื™ืฉืŸ ื“ื™ 23 ื™ื ืึธื•ื•ื•ื™ื™ืฉืึทื ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืื™ืŸ Java SE:

  • ื“ื™ ื’ืขื ืขืจืึทื˜ื™ื•ื• ืžืึธื“ืข ืคื•ืŸ โ€‹โ€‹ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ZGC (Generation Z Garbage Collector) ืžื™ืกื˜ ืงืึทืœืขืงื˜ืขืจ ืื™ื– ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ื ื™ืฆืŸ ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ "ืึทืœื˜" ืื•ืŸ "ื™ื•ื ื’" ืึทื‘ื“ื–ืฉืขืงืฅ, ื•ื•ืึธืก ื™ื ืงืจื™ืกืึทื– ื“ื™ ืขืคืขืงื˜ื™ื•ื•ืงื™ื™ึทื˜ ืคื•ืŸ ืจื™ื™ื ื™ืงื•ื ื’ ืœืขืฆื˜ื ืก ื‘ืืฉืืคืŸ ืึทื‘ื“ื–ืฉืขืงืฅ ืžื™ื˜ ืึท ืงื•ืจืฅ ืœืขื‘ืŸ. ื ื™ืฆืŸ Generational ZGC ืจืึทื“ื•ืกืึทื– ื“ื™ ืจื™ื–ื™ืงื™ืจืŸ ืคื•ืŸ ืกื˜ืึธืœื– ื‘ืขืฉืึทืก ืึทืœืึทืงื™ื™ืฉืึทืŸ ืคื•ืŸ ืžื™ื˜ืœ, ืจืึทื“ื•ืกืึทื– ืงืคึผื• ืžืึทืกืข ืื•ืŸ ื–ื™ืงืึธืจืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ื‘ืขืฉืึทืก ืžื™ืกื˜ ื–ืึทืžืœื•ื ื’. ื˜ืขืกื˜ื™ื ื’ Generational ZGC ืžื™ื˜ Apache Cassandra 4 ื’ืขื•ื•ื™ื–ืŸ ืึท 4x ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ื˜ืจื•ืคึผื•ื˜ ืžื™ื˜ ืึท ืคืึทืจืคืขืกื˜ื™ืงื˜ ืงื•ืคึผืข ื’ืจื™ื™ืก ืื•ืŸ XNUMX/XNUMX ืจืขื“ื•ืงืฆื™ืข ืื™ืŸ ืงื•ืคึผืข ื’ืจื™ื™ืก ืžื™ื˜ ืงืขืกื™ื™ื“ืขืจื“ื™ืง ื˜ืจื•ืคึผื•ื˜.
  • JavaDoc ื”ืื˜ ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื ื™ืฆืŸ Markdown ืฆื• ื“ืึธืงื•ืžืขื ื˜ ืงืึธื“ ืื™ืŸ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ, ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ืึท ื’ืขืžื™ืฉ ืคื•ืŸ HTML ืื•ืŸ JavaDoc @ ื˜ืึทื’ืก.
    Java SE 23 ืื•ืŸ OpenJDK 23 ื‘ืืคืจื™ื™ื˜
  • ืžื•ืกื˜ืขืจ ื•ื•ืึธืก ืจื™ื›ื˜ืŸ ืžืขืงืึทื ื™ื–ืึทืžื– ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื™ืžืคึผืจื•ื•ื•ื“ ืžื™ื˜ ืคึผืจื™ืœื™ืžืึทื ืขืจื™ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืคึผืจื™ืžื™ื˜ื™ื•ื• ื˜ื™ื™ืคึผืก (ื™ื ื˜, ื‘ื™ื™ื˜, ื˜ืฉืึทืจ, ืื•ืŸ ืื ื“ืขืจืข ื ื™ื˜-ืึธื‘ื“ื–ืฉืขืงื˜ ื™ืงืขืจื“ื™ืง ื˜ื™ื™ืคึผืก) ืื™ืŸ ืึทืœืข ืžื™ื ื™ื ืคื•ืŸ ื˜ืขืžืคึผืœืึทื˜ืขืก, ืื™ืŸ ื“ื™ "ื™ื ืกื˜ืึทื ืก ืคื•ืŸ" ื•ื™ืกื–ืึธื’ื•ื ื’, ืื•ืŸ ืื™ืŸ "ื‘ืึทืฉื˜ื™ืžืขืŸ" ื‘ืœืึทืงืก. ื‘ืึทืฉื˜ื™ืžืขืŸ (ืงืก.ื’ืขืกื˜ืึทื˜ื•ืก ()) { ืคืึทืœ 0 -> "ืึธื•ืงื™ื™"; ืคืึทืœ 1 -> "ื•ื•ืืจืขื ื•ื ื’"; ืคืึทืœ 2 -> "ื˜ืขื•ืช"; case int i -> "ืื•ืžื‘ืึทืงืึทื ื˜ ืกื˜ืึทื˜ื•ืก:" + ืื™ืš; } ืื•ื™ื‘ (ืื™ืš ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ื‘ื™ื™ื˜ ื‘) { โ€ฆ ื‘ โ€ฆ }
  • ืึทื“ื“ืขื“ ืคึผืจื™ืœื™ืžืึทื ืขืจื™ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื ื™ืฆืŸ ืึท ืื™ื™ืŸ "ืึทืจื™ื™ึทื ืคื™ืจ ืžืึธื“ื•ืœืข ื‘" ื“ืขืจืงืœืขืจื•ื ื’ ืฆื• ืึทืจื™ื™ึทื ืคื™ืจ ืึทืœืข ืคึผืึทืงืึทื“ื–ืฉืึทื– ื™ืงืกืคึผืึธืจื˜ืึทื“ ื“ื•ืจืš ืึท ืกืคึผืขืกื™ืคื™ืขื“ ืžืึธื“ื•ืœืข ืื™ืŸ ืึทืžืึธืœ. ื“ืขืจ ืขื ื“ืขืจื•ื ื’ ื‘ืื˜ื™ื™ื˜ื™ืง ืกื™ืžืคึผืœืึทืคื™ื™ื– ื“ื™ ืจื™ื™ื•ื– ืคื•ืŸ ืžืึทื“ื–ืฉืึทืœืขืจ ืœื™ื™ื‘ืจืขืจื™ื–, ืึทืœืึทื•ื™ื ื’ ืื™ืจ ืฆื• ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืœื™ื™ื‘ืจืขืจื™ื– ืื•ืŸ ืงืœืืกืŸ ืึธืŸ ื“ื™ื˜ืขืจืžืึทื ื™ื ื’ ื–ื™ื™ืขืจ ืึธืจื˜ ืื™ืŸ ื“ื™ ืคึผืขืงืœ ื›ื™ื™ืขืจืึทืจืงื™. ืฆื•ื ื‘ื™ื™ืฉืคึผื™ืœ, ืื•ื™ื‘ ืื™ืจ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ "ืึทืจื™ื™ึทื ืคื™ืจ ืžืึธื“ื•ืœืข java.base" ื•ื•ืขื˜ ืึทืจื™ื™ึทื ืคื™ืจ ืึทืœืข 54 ืคึผืึทืงืึทื“ื–ืฉืึทื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืื™ืŸ ื“ื™ java.base ืžืึธื“ื•ืœืข, ื•ื•ืึธืก ืคืจื™ืขืจ ื•ื•ืึธืœื˜ ื–ื™ื™ืŸ ื“ืขืจืžืื ื˜ ืกืขืคึผืขืจืึทื˜ืœื™ ("ื™ืžืคึผืึธืจื˜ java.io.*", "ื™ืžืคึผืึธืจื˜ java.util.* "ืื•ืŸ ืืื–"ื• ื•).

    ื ืฆื•ื•ื™ื™ื˜ืข ืคึผืจื™ืœื™ืžืึทื ืขืจื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ Class-File API ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืคึฟืึทืจ ืคึผืึทืจืกื™ื ื’, ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืื•ืŸ ืงืึทื ื•ื•ืขืจื˜ื™ื ื’ Java ืงืœืึทืก ื˜ืขืงืขืก. ClassFile cf = ClassFile.of(); ืงืœืึทืกืžืึธื“ืขืœ ืงืœืึทืกืžืึธื“ืขืœ = ืงืค.ืคึผืึทืจืก (ื‘ื™ื˜ืขืก); byte[] newBytes = cf.build(classModel.thisClass().asSymbol(), classBuilder -> {for (ClassElement ce: classModel) {if (!(ce instanceof MethodModel mm && mm.methodName().stringValue(). ืกื˜ืึทืจืฅื•ื•ื™ื˜ื”("ื“ืขื‘ื•ื’"))) {classBuilder.with(ce);

  • ื“ื™ ืึทื›ื˜ ืคืึธืจื•ื™ืกื™ืงืข ื•ื•ื™ื™ึทื–ื•ื ื’ ืคื•ืŸ ื“ื™ ื•ื•ืขืงื˜ืึธืจ ืึทืคึผื™ ื’ื™ื˜ ืคืึทื ื’ืงืฉืึทื ื– ืคึฟืึทืจ ื•ื•ืขืงื˜ืึธืจ ื—ืฉื‘ื•ื ื•ืช ื•ื•ืึธืก ื–ืขื ืขืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืžื™ื˜ ื•ื•ืขืงื˜ืึธืจ ืื™ื ืกื˜ืจื•ืงืฆื™ืขืก ืื•ื™ืฃ x86_64 ืื•ืŸ AArch64 ืคึผืจืึทืกืขืกืขืจื– ืื•ืŸ ืœืึธื–ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืฆื• ื–ื™ื™ืŸ ื’ืขื•ื•ืขื ื“ื˜ ืกื™ื™ืžืึทืœื˜ื™ื™ื ื™ืึทืกืœื™ ืฆื• ืงื™ื™ืคืœ ื•ื•ืึทืœื•ืขืก (SIMD). ื ื™ื˜ ืขื ืœืขืš ื“ื™ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ื“ื™ HotSpot JIT ืงืึทืžืคึผื™ื™ืœืขืจ ืคึฟืึทืจ ืึทื•ื˜ืึธ-ื•ื•ืขืงื˜ืึธืจื™ื–ืึทื˜ื™ืึธืŸ ืคื•ืŸ ืกืงืึทืœืึทืจ ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ื“ื™ ื ื™ื™ึทืข ืึทืคึผื™ ืžืื›ื˜ ืขืก ืžืขื’ืœืขืš ืฆื• ื‘ืคื™ืจื•ืฉ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื•ื•ืขืงื˜ืึธืจื™ื–ืึทื˜ื™ืึธืŸ ืคึฟืึทืจ ืคึผืึทืจืึทืœืขืœ ื“ืึทื˜ืŸ ืคึผืจืึทืกืขืกื™ื ื’.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืคึฟืึธืจืžืึทื˜, ืคึผืจื™ื ื˜ืฃ, ืจืขืึทื“ืคึผืึทืกืกื•ื•ืึธืจื“ ืื•ืŸ ืจืขืึทื“ืœื™ื ืข ืžืขื˜ื”ืึธื“ืก ืฆื• ื“ื™ java.io.Console ืงืœืึทืก ืฆื• ืคึฟืึธืจืžืึทื˜, ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ืื•ืŸ ืœื™ื™ืขื ืขืŸ ื˜ืขืงืกื˜ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ืœืึธืงืึทืœ. System.console().printf(Locale.FRANCE, "%1$tY-%1$tB-%1$te %1$tA", ื ื™ื™ึท ื˜ืึธื’()) 2024-mai-16
  • ื ืฆื•ื•ื™ื™ื˜ืข ืคืึธืจื•ื™ืกื™ืงืข ื•ื•ื™ื™ึทื–ื•ื ื’ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืขืงืกื˜ืขื ื“ืขื“ ืกื˜ืจื™ื ืึทืคึผื™ ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ื•ื•ืึธืก ืฉื˜ื™ืฆื˜ ื“ื™ืคื™ื™ื ื™ื ื’ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื™ื ื˜ืขืจืžื™ื“ื™ื™ื˜ ืึทืคึผืขืจื™ื™ืฉืึทื ื–, ื•ื•ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืื™ืŸ ืงืึทืกืขืก ื•ื•ืขืŸ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื™ื ื˜ืขืจืžื™ื“ื™ื™ื˜ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ื ื™ืฉื˜ ื’ืขื ื•ื’ ืคึฟืึทืจ ื“ื™ ื’ืขื‘ืขื˜ืŸ ื“ืึทื˜ืŸ ื˜ืจืึทื ืกืคืึธืจืžืึทืฆื™ืข. ื’ืขื‘ื•ื™ืจืŸ ื”ืึทื ื“ืœืขืจืก ื–ืขื ืขืŸ ืงืึธื ื ืขืงื˜ืขื“ ืžื™ื˜ ื“ื™ ื ื™ื™ึทืข ื™ื ื˜ืขืจืžื™ื“ื™ื™ื˜ ืึธืคึผืขืจืึทืฆื™ืข ืกื˜ืจื™ื :: ื’ืึทื“ืขืจ (ื’ืึทื“ืขืจืขืจ), ื•ื•ืึธืก ืคึผืจืึทืกืขืกืึทื– ื˜ื™ื™ึทืš ืขืœืขืžืขื ื˜ืŸ ื“ื•ืจืš ืึทืคึผืœื™ื™ื™ื ื’ ืึท ื‘ืึทื ื™ืฆืขืจ-ืกืคึผืขืกื™ืคื™ืขื“ ื”ืึทื ื“ืœืขืจ ืฆื• ื–ื™ื™. jshell> Stream.of(1,2,3,4,5,6,7,8,9).ื’ืึทื“ืขืจ(ื ื™ื™ึท ื•ื•ื™ื ื“ืึธื•ื•ืคื™ืงืกืขื“(3)).toList() $1 ==> [[1], [2, 3, 4], [5, 6, 7]]
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึท ื“ืจื™ื˜ ืคึผืจื™ืœื™ืžืึทื ืขืจื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื™ืžืคึผืœื™ืกืึทื˜ืœื™ ื“ืขืจืงืœืขืจื˜ ืงืœืืกืŸ ืื•ืŸ ืึทื ื ื™ื™ืžื“ ืงืึทืกืขืก ืคื•ืŸ ื“ื™ "ื”ื•ื™ืคึผื˜" ืื•ืคึฟืŸ, ื•ื•ืึธืก ืงืขื ืขืŸ ืึธืคึผื–ืึธื’ืŸ ืฆื™ื‘ื•ืจ / ืกื˜ืึทื˜ื™ืง ื“ืขืงืœืึทืจื™ื™ืฉืึทื ื–, ืคืึธืจืŸ ืึท ืงื™ื™ื˜ ืคื•ืŸ ืึทืจื’ื•ืžืขื ื˜ืŸ ืื•ืŸ ืื ื“ืขืจืข ืขื ื˜ื™ื˜ื™ื– ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ืึท ืงืœืึทืก ื“ืขืงืœืึทืจืึทืฆื™ืข. // ืื™ื– ื’ืขื•ื•ืขืŸ ืฆื™ื‘ื•ืจ ืงืœืึทืก ื”ืขืœืœืึธื•ื•ืึธืจืœื“ {ืคึผื•ื‘ืœื™ืง ืกื˜ืึทื˜ื™ืง ืคึผืึธืกืœ ื”ื•ื™ืคึผื˜ (ืกื˜ืจื™ื ื’[] ืึทืจื’ืก) {ืกื™ืกื˜ืขื.ืึธื•ื˜.ืคึผืจื™ื ื˜ืœืŸ ("ื”ืขืœื ื•ื•ืขืœื˜!"); } } // ืื™ืฆื˜ ืื™ืจ ืงืขื ืขืŸ ืคึผืึธืกืœ ื”ื•ื™ืคึผื˜ () {System.out.println ("ื”ืขืœื, ื•ื•ืขืœื˜!"); }
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึท ืฆื•ื•ื™ื™ื˜ืข ืคืึธืจื•ื™ืกื™ืงืข ื•ื•ื™ื™ึทื–ื•ื ื’ ืคื•ืŸ ืึท ืฉื˜ืจื™ืš ื•ื•ืึธืก ืึทืœืึทื•ื– ืงืึธื ืกื˜ืจื•ืงื˜ืึธืจืก ืฆื• ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืื•ื™ืกื“ืจื•ืงืŸ ืื™ื™ื“ืขืจ ืจื•ืคืŸ ืกื•ืคึผืขืจ (...), ื’ืขื ื™ืฆื˜ ืฆื• ื‘ืคื™ืจื•ืฉ ืจื•ืคืŸ ืึท ืคืึธื˜ืขืจ ืงืœืึทืก ืก ืงืึทื ืกื˜ืจืึทืงื˜ืขืจ ืคื•ืŸ ืึทืŸ ื™ื ื›ืขืจืึทื˜ื™ื“ ืงืœืึทืก ืก ืงืึทื ืกื˜ืจืึทืงื˜ืขืจ ืื•ื™ื‘ ื“ื™ ืื•ื™ืกื“ืจื•ืงืŸ ื˜ืึธืŸ ื ื™ื˜ ืึธืคึผืฉื™ืงืŸ ืฆื• ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ ื‘ืืฉืืคืŸ ื“ื•ืจืš ื“ื™ ืงืึทื ืกื˜ืจืึทืงื˜ืขืจ. ืงืœืึทืก ื•ื™ืกื•ื•ื™ื™ื ื™ืงืกื˜ { ืคึผืึธืกืœ ื”ืขืœื () {ืกื™ืกื˜ืขื.ืึธื•ื˜.ืคึผืจื™ื ื˜ืœืŸ ("ื”ืขืœื"); } ืงืœืึทืก ื™ื ืขืจ { ื™ื ืขืจ () { ื”ืขืœื (); ืกื•ืคึผืขืจ(); } } }
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืึท ื“ืจื™ื˜ ืคืึธืจื•ื™ืกื™ืงืข ื•ื•ื™ื™ึทื–ื•ื ื’ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ืกืงืึธืคึผืขืขื“ ื•ื•ืึทืœื•ืขืก, ืึทืœืึทื•ื™ื ื’ ื™ืžื™ื•ื˜ืึทื‘ืึทืœ ื“ืึทื˜ืŸ ืฆื• ื–ื™ื™ืŸ ืฉืขืจื“ ืื™ื‘ืขืจ ืคึฟืขื“ืขื ืื•ืŸ ื“ืึทื˜ืŸ ื™ืงืกื˜ืฉื™ื™ื ื“ื–ืฉื“ ื™ืคื™ืฉืึทื ื˜ืœื™ ืฆื•ื•ื™ืฉืŸ ืงื™ื ื“ ืคึฟืขื“ืขื (ื•ื•ืึทืœื•ืขืก ื–ืขื ืขืŸ ื™ื ื›ืขืจืึทื˜ื™ื“). ืกืงืึธืคึผืขื“ ื•ื•ืึทืœื•ืขืก ื–ืขื ืขืŸ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืฆื• ืคืึทืจื‘ื™ื™ึทื˜ืŸ ื“ื™ ืคืึธื“ืขื-ื”ื™ื’ืข ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืžืขืงืึทื ื™ื–ืึทื ืื•ืŸ ื–ืขื ืขืŸ ืžืขืจ ืขืคืขืงื˜ื™ื•ื• ื•ื•ืขืŸ ื ื™ืฆืŸ ื–ื™ื™ืขืจ ื’ืจื•ื™ืก ื ื•ืžืขืจ ืคื•ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ืคึฟืขื“ืขื (ื˜ื•ื™ื–ื ื˜ ืึธื“ืขืจ ืžื™ืœื™ืึทื ื– ืคื•ืŸ ืคึฟืขื“ืขื). ื“ืขืจ ื”ื•ื™ืคึผื˜ ื—ื™ืœื•ืง ืฆื•ื•ื™ืฉืŸ ืกืงืึธืคึผืขื“ ื•ื•ืึทืœื•ืขืก ืื•ืŸ ืคืึธื“ืขื-ื”ื™ื’ืข ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืื™ื– ืึทื– ื“ื™ ืขืจืฉื˜ืข ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ ืึทืžืึธืœ, ืงืขื ืขืŸ ื ื™ื˜ ื–ื™ื™ืŸ ื˜ืฉื™ื™ื ื“ื–ืฉื“ ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜, ืื•ืŸ ื‘ืœื™ื™ื‘ืŸ ื‘ื ื™ืžืฆื ื‘ืœื•ื™ื– ืคึฟืึทืจ ื“ืขืจ ื’ืขื“ื•ื™ืขืจ ืคื•ืŸ ื“ื™ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ ืคืึธื“ืขื.
  • ื ื“ืจื™ื˜ ืคืึธืจื•ื™ืกื™ืงืข ื•ื•ื™ื™ึทื–ื•ื ื’ ืคื•ืŸ ื“ื™ Structured Concurrency API ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜ ืคึฟืึทืจ ื˜ืขืกื˜ื™ื ื’, ืกื™ืžืคึผืœืึทืคื™ื™ื™ื ื’ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ืžื•ืœื˜ื™-ื˜ืจืขื“ื™ื“ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื“ื•ืจืš ืคึผืจืึทืกืขืกื™ื ื’ ืงื™ื™ืคืœ ื˜ืึทืกืงืก ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข ืคึฟืขื“ืขื ื•ื•ื™ ืึท ืื™ื™ืŸ ื‘ืœืึธืง.
  • ื“ื™ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ื–ื™ืงืึธืจืŸ ืึทืงืกืขืก ืžืขื˜ื”ืึธื“ืก (ืึทืจื•ื™ืก ื“ื™ JVM) ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ื“ื™ sun.misc.Unsafe ืงืœืึทืก ื–ืขื ืขืŸ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“ ืื•ืŸ ืกืงืขื“ื–ืฉื•ืœื“ ืคึฟืึทืจ ื‘ืึทื–ื™ื™ึทื˜ื™ืงื•ื ื’. ืฆื• ืึทืงืกืขืก ืึทื•ื•ืขืง-ื”ื•ื™ืคืŸ ื–ื›ึผืจื•ืŸ ืื•ืŸ ื™ื ื˜ืขืจืึทืงื˜ ืžื™ื˜ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืงืึธื“, ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื ื•ืฆืŸ ื“ื™ VarHandle API ืื•ืŸ ื“ื™ FFM (ืคืจืขืžื“ ืคื•ื ืงืฆื™ืข & ื–ื›ึผืจื•ืŸ) ืึทืคึผื™.

ืื™ืŸ ื“ืขืจืฆื•, ืžื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ื“ื™ ื•ื™ืกื’ืึทื‘ืข ืคื•ืŸ โ€‹โ€‹ืึท ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืฆื• ื“ืขืจ ืคึผืœืึทื˜ืคืึธืจืžืข ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืžื™ื˜ ื“ื™ JavaFX 23 ื’ืจืึทืคื™ืงืึทืœ ืฆื•ื‘ื™ื ื“ ืื•ืŸ ื“ื™ ื™ื ืงืœื•ื–ืฉืึทืŸ ืคื•ืŸ ื“ื™ GraalVM JIT ืงืึทืžืคึผื™ื™ืœืขืจ ืื™ืŸ ื“ื™ ื”ื•ื™ืคึผื˜ Oracle JDK 23.

ืื•ื™ืš ื“ืขืจืœืื ื’ื˜ ืื™ื– ืึท ื ื™ื™ึทืข ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ ื•ื ื™ื•ื•ืขืจืกืึทืœ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ GraalVM, ื•ื•ืึธืก ืฉื˜ื™ืฆื˜ ืคืœื™ืกื ื“ื™ืง ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ (Node.js), Python, Ruby, R, ืงื™ื™ืŸ ืฉืคืจืึทื›ืŸ ืคึฟืึทืจ ื“ื™ JVM (Java, Scala, Clojure, Kotlin) ืื•ืŸ ืฉืคึผืจืึทื›ืŸ โ€‹ืคึฟืึทืจ ื•ื•ืึธืก LLVM ื‘ื™ื˜ืงืึธื“ืข ืงืขื ืขืŸ ื–ื™ื™ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ (C, C ++, Rust). ืื™ืŸ ืึทื“ื™ืฉืึทืŸ ืฆื• ืฉื˜ื™ืฆืŸ JDK 23, ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข ืึธืคึผื˜ื™ืžื™ื–ืขืก ื–ื›ึผืจื•ืŸ ืงืึทื ืกืึทืžืฉืึทืŸ ืื•ืŸ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ืงืึธื“, ืื•ืŸ ื’ื™ื˜ ืคื•ืœ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืขืžื‘ืขื“ื“ื™ื ื’ ืคึผื™ื˜ื”ืึธืŸ ืื•ืŸ ื•ื•ืขื‘ืึทืกืกืขืžื‘ืœื™ ืื™ืŸ Java ืงืึธื“ ื ื™ืฆืŸ JIT ื–ืึทืžืœื•ื ื’.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’