ื ืึธื ืืขืงืก ืืืฉืื ืคืื ืึทื ืืืืืงืืื ื, 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 @ ืืึทืืก.

- ืืืกืืขืจ ืืืึธืก ืจืืืื ืืขืงืึทื ืืืึทืื ืืึธืื ืฉืืื ืืืคึผืจืืืื ืืื ืคึผืจืืืืืึทื ืขืจื ืฉืืืฆื ืคึฟืึทืจ ืื ื ืืฆื ืคืื ืคึผืจืืืืืืื ืืืืคึผืก (ืื ื, ืืืื, ืืฉืึทืจ, ืืื ืื ืืขืจืข ื ืื-ืึธืืืืฉืขืงื ืืงืขืจืืืง ืืืืคึผืก) ืืื ืึทืืข ืืื ืื ืคืื ืืขืืคึผืืึทืืขืก, ืืื ืื "ืื ืกืืึทื ืก ืคืื" ืืืกืืึธืืื ื, ืืื ืืื "ืืึทืฉืืืืขื" ืืืึทืงืก. ืืึทืฉืืืืขื (ืงืก.ืืขืกืืึทืืืก ()) { ืคืึทื 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

